递归查找删除(find+管道+xargs+rm)
学习原因
今天我的编辑器突然坏了,它创建了好多文件名最后带了'~'的不用的文件。
如果这是同一个目录下的就好办了,但这是好多目录里的,就很烦了。
具体过程
百度一下,学习了管道命令的用法,发现
find -name \*~ | rm
解释一下:
前面的
find -name \*~
就是找到所有的名字末尾是'~'的文件名。
"|" 就是管道命令,
其作用就是:将前一个命令的输出当作后一个命令的输入。
至于"rm",相信大家都会。
但这样是错的,因为管道只是将输出当作输入,但"rm"命令需要的参数。
此时通过询问,得知"| xargs"就是将输入当作参数。
于是,修改命令,可以得到:
find -name \*~ | xargs rm
这样,问题就解决了。