如何删除与linux命令输出匹配的文件
我有一个使用如何删除与linux命令输出匹配的文件,linux,shell,ubuntu,terminal,Linux,Shell,Ubuntu,Terminal,我有一个使用find/-typef-size+10M-execls-l{}得到的文件列表 我从你那里得到这个命令 如何删除所有这些文件 我试过了 sudo rm `find / -type f -size +10M -exec ls -l {} \;` 但它不起作用 还有,{}\做什么?在这个命令中,-exec有什么用,管道操作符不能工作吗?我认为应该可以对找到的每个文件运行findrunrm,但我无法让它工作 下面是我使用for循环的解决方案: for $f in `find / -type
find/-typef-size+10M-execls-l{}得到的文件列表代码>
我从你那里得到这个命令
如何删除所有这些文件
我试过了
sudo rm `find / -type f -size +10M -exec ls -l {} \;`
但它不起作用
还有,{}\
做什么?在这个命令中,-exec
有什么用,管道操作符不能工作吗?我认为应该可以对找到的每个文件运行find
runrm
,但我无法让它工作
下面是我使用for循环的解决方案:
for $f in `find / -type f -size +10M`;do rm $f;done
谢谢大家,我终于得到了@some programmer dude的建议:
find / -type f -size +10M -exec rm {} \;
我推荐你。至于你的问题,为什么你不让find
executerm
代替ls
?@Someprogrammerdude这行吗?'{}'
是exec
命令的占位符(它的工作原理有点像xargs
)。它将替换为找到的每个满足要求的新文件的文件名<代码>\
与-exec
选项一起使用,该选项表示exec
的终止find/-typef-size+10M-exec sudo rm'{}'+
@ceving the+
帮了我一把。当我尝试用\”结束命令时代码>它只是不停地说“缺少到`-exec'的参数”