Предполагая dir1
, что путь, который вы хотите найти и dir2
быть определенная папка :
find dir1 -not -path "dir2/*" | grep -F -f <(ls -1 dir2) | parallel rm
или, если только у вас есть xargs
и нет parallel
:
find dir1 -not -path "dir2/*" | grep -F -f <(ls -1 dir2) | xargs rm
Пример:
Допустим, вы хотите посмотреть на C:
диск и определенная папка является C:\Desktop
, то на Cygwin :
find /cygdrive/c -not -path "/cygdrive/c/Desktop/*" | grep -F -f <(ls -1 /cygdrive/c/Desktop) | parallel rm
на Git-для-Windows :
find /c -not -path "/c/Desktop/*" | grep -F -f <(ls -1 /c/Desktop) | parallel rm
на WSL :
find /mnt/c -not -path "/mnt/c/Desktop/*" | grep -F -f <(ls -1 /mnt/c/Desktop) | parallel rm