Как удалить все файлы, содержащие -20
в имени файла в текущем каталоге?
у меня есть
ls | grep "-20" | rm -rf
Но это не работает. Идеи?
Спасибо.
rm -- *-20*
- останавливает обработку -20 как аргумент для rm, если файл -20 существует.
Ваша проблема с
ls | grep "-20" | rm -rf # DOESN'T WORK
это то, что вы передаете имена файлов по конвейеру rm
но rm
не читает со стандартного ввода. Вам нужно использовать xargs
звонить rm
неоднократно нравится:
ls | grep '-20' | xargs rm -rf
Но на самом деле вы не хотите использовать ls | grep
чтобы найти имена файлов. Использовать find
команда.
find . -name '*-20' | xargs rm -rf
Но, конечно, как сказал другой плакат, лучшее решение - rm -- *-20*
.