![](/img/trans.png)
[英]Linux Shell Command: Find. How to Sort and Exec without using Pipes?
[英]Using pipes with find command in linux
我想在主目录中找到以“〜”开头的文件,对它们进行数字排序,打印前五个文件,并使用Linux中的find命令和管道删除它们。 我有一个bash脚本:
#!/bin/bash
find ~/ -name "~*" | sort -n | head -5 | tee | xargs rm
这对于删除文件效果很好,但是我期望tee
命令将删除的文件打印到标准输出。 该命令所做的只是删除文件,但在终端中有此输出。 我应该添加/更改什么? 谢谢。
您可以只使用rm上的详细标志,它会告诉您它正在删除什么
find ~/ -name "~*" | sort -n | head -5 | xargs rm -v
使用man rm
查看文档
-v,--verbose
解释正在做什么
您可以使用rm -v
打印每个删除的文件名:
find ~ -name '~*' -print0 | sort -zn | head -z -n 5 | xargs -0 rm -v
还要注意使用-print0
和所有相应的选项sort. head, xargs
sort. head, xargs
用空格和glob字符寻址文件名。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.