我正在尝试删除所有文件不要从开始__
。这
ls | grep -v "__" | xargs -0 rm
产量: File name too long
。有什么帮助吗?
编辑:
ls | grep -v "__" | awk '{print("rm \42"$0"\42")}' | /bin/bash
解决了问题,但我想知道为什么第一个不正确。谢谢
答案1
取出-0
参数,它将修复此问题。xargs-0
的参数表示输入列表中的项目以空字符结尾。您没有这样做,而是传递了以字符结尾的行\n
。