Assumindo que dir1
seja o caminho que você deseja pesquisar e dir2
seja a determinada pasta :
find dir1 -not -path "dir2/*" | grep -F -f <(ls -1 dir2) | parallel rm
ou, se você tiver apenas xargs
e não parallel
:
find dir1 -not -path "dir2/*" | grep -F -f <(ls -1 dir2) | xargs rm
Exemplo:
Digamos que você queira procurar na unidade C:
e a determinada pasta é C:\Desktop
, depois em cygwin :
find /cygdrive/c -not -path "/cygdrive/c/Desktop/*" | grep -F -f <(ls -1 /cygdrive/c/Desktop) | parallel rm
em Git-for-Windows :
find /c -not -path "/c/Desktop/*" | grep -F -f <(ls -1 /c/Desktop) | parallel rm
em WSL :
find /mnt/c -not -path "/mnt/c/Desktop/*" | grep -F -f <(ls -1 /mnt/c/Desktop) | parallel rm