Предполагается, что это каталог mydir
set -e
cd mydir
tmpdir=/tmp/x$$ # adapt this to your taste
mv $(<list.txt) $tmpdir
cd ..
rm -r mydir
mkdir mydir
mv $tmpdir/* mydir
rm -r $tmpdir
В основном, вместо того, чтобы удалить те файлы, которые вы хотите сохранить, вы их сохраняете, затем удаляете все, а затем восстанавливаете их. В вашем случае это, вероятно, быстрее, чем делать наоборот.
UPDATE :
Как прокомментировал Michiel
, желательно, чтобы вы поместили свой tmpdir в та же файловая система, что и mydir.