我试图删除所有不以__开头的文件。 这个
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表示input列表中的项目是空的。 你没有这样做,你正在传递由\n字符终止的行。