Сzsh
:
expected=(${(f)"$(<fileNames.txt)"}) || exit
cd TestDir || exit
actual=(*(D))
superfluous=(${actual:|expected})
if (($#superfluous)) {
echo These files are not in the expected list:
printf ' - %q\n' $superfluous
read -q '?Do you want to delete them? ' && rm -rf -- $superfluous
}
Это было бы верно, если бы вы установили разрешение для домашнего каталога на 700. Но это не настройка по умолчанию. На сервере Ubuntu домашний каталог нового пользователя получает «drwxr -xr -x». Это дает вескую причину установить некоторые индивидуальные разрешения для ваших файлов и каталогов.