递归查找删除(find+管道+xargs+rm)


学习原因

今天我的编辑器突然坏了,它创建了好多文件名最后带了'~'的不用的文件。
如果这是同一个目录下的就好办了,但这是好多目录里的,就很烦了。

具体过程

百度一下,学习了管道命令的用法,发现

find -name \*~ | rm

解释一下:
前面的

find -name \*~

就是找到所有的名字末尾是'~'的文件名。
"|" 就是管道命令,
其作用就是:将前一个命令的输出当作后一个命令的输入
至于"rm",相信大家都会。

但这样是错的,因为管道只是将输出当作输入,但"rm"命令需要的参数
此时通过询问,得知"| xargs"就是将输入当作参数
于是,修改命令,可以得到:

find -name \*~ | xargs rm

这样,问题就解决了。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM