Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux “为什么?”;rm";命令覆盖bash脚本的显示_Linux_Bash_Scripting - Fatal编程技术网

Linux “为什么?”;rm";命令覆盖bash脚本的显示

Linux “为什么?”;rm";命令覆盖bash脚本的显示,linux,bash,scripting,Linux,Bash,Scripting,我有一个简单的bash脚本,可以找到特定的文件,然后对它们进行排序和删除。 下面是脚本: find . -type -name "~*" | sort -n | head -5 | xargs rm 是否可以在删除结果之前先打印结果?tee是一种可能的解决方案,它是coreutils的一部分,因此您应该已经在系统上安装了它: $ find . -name '~*' | sort -n | head -5 | tee /dev/tty | xargs rm 顺便说一句,我相信您的find命令

我有一个简单的bash脚本,可以找到特定的文件,然后对它们进行排序和删除。 下面是脚本:

find . -type -name "~*" | sort -n | head -5 | xargs rm

是否可以在删除结果之前先打印结果?

tee
是一种可能的解决方案,它是
coreutils
的一部分,因此您应该已经在系统上安装了它:

$ find .  -name '~*' | sort -n | head -5 | tee /dev/tty | xargs rm

顺便说一句,我相信您的
find
命令中有一个错误-您必须将值传递给
-type
选项。

您的输出是什么?另外,
~*
不是目录。此外,这看起来非常危险,因为它可能会删除您不希望它删除的文件,因此我建议您在运行此操作之前仔细考虑。您还可以运行xargs rm-v,以便让rm命令打印它删除的内容。@bluerojo需要此功能!非常感谢。没有想到。是的,-type只是一个类型错误,你的代码工作起来很有魅力谢谢!