Я пытаюсь удалить все файлы, которые не начать с __
. это
ls | grep -v "__" | xargs -0 rm
Урожайность : File name too long
. Любая помощь?
РЕДАКТИРОВАТЬ:
ls | grep -v "__" | awk '{print("rm \42"$0"\42")}' | /bin/bash
решает проблему, но хотелось бы знать, почему первое неверно. Спасибо
Выньте -0
аргумент, и это решит эту проблему. в -0
arg to xargs говорит, что элементы во входном списке завершаются нулем. Вы этого не делаете, вы передаете строки, заканчивающиеся \n
персонаж.