如何使用ls命令输出RM特定目录
我想在目录中删除旧的文件时,文件的数量大于5我使用如何使用ls命令输出RM特定目录
(LS -1T |尾-n 3)
获取目录中最旧的3个文件。这完全符合我的要求。现在我想用rm在一个命令中删除它们。当我在Linux服务器上运行这些命令时,请进入目录并删除不起作用,因此我需要使用find或ls与rm并删除最旧的3个文件。请帮忙。 谢谢:)
如果要从某个任意目录中删除文件,请将目录名称传递给ls
命令。默认是使用当前目录。
然后使用$()
参数展开的tail
结果转移到rm
这样
rm $(ls -1t dirname| tail -n 3)
我想删除一个特定的目录,我不能将目录名传递给rm cmd吗?有些像:'rm
如果我使用cd
我已更新答案,以便您可以从任何目录中删除文件。 –
rm $(ls -1t | tail -n 3) 2> /dev/null
为什么你重定向* stderr *?为什么不用'rm -f'? –
_CD到目录和删除不working_ - 怎么样? 'ls -1t'也只在当前目录下运行,所以既然它可以工作,它必须已经在正确的目录中。 – Armali