Хотя вы можете сделать эту работу с ls(1)
, я думаю, что лучше использовать find(1)
вместо:
find . \! -name '*images*' -exec rm -r {} \;
или
find . \! -name '*images*' -print0 | xargs -0 rm -r
Я предпочитаю -print0 | xargs -0
подходит, когда это работает, потому что xargs(1)
будет порождать только столько rm(1)
команд, сколько необходимо.Когда у вас есть только 200 файлов, 200 выполнений или одно выполнение не будет иметь большого значения, но если бы у вас было 10000 файлов для удаления, вы бы действительно предпочли выполнить rm(1)
только 200 или 500 раз, а не все 10000 раз.