首先我们演示一下find命令结合xargs命令删除不带空格的文件
1 | [root@ELK-chaofeng test]# touch 1.txt 2.txt |
接下来我们演示删除带有空格的文件
1 | [root@ELK-chaofeng test]# touch 1.txt 2.txt '1 2.txt' |
上面的参数-print0,于默认的-print相比,输出的序列不是以空格分隔,而是以null字符分隔。而xargs也有一个参数-0,可以接受以null而非空格间隔的输入流。
转自:https://www.linuxprobe.com/deletes-files-spaces.html
注:原文有点问题,没有先找到有空格的文件,然后删除,需要注意,原来是这样的find . -type f -print0 | xargs -0 rm -rf
。