如何在rm中为特定目录使用ls命令输出

时间:2016-01-20 14:39:14

标签: linux find ls rm

当文件数大于5时,我想删除目录中最旧的文件。我正在使用

  

(ls -1t | tail -n 3)

获取目录中最旧的3个文件。这完全符合我的要求。现在我想用rm在一个命令中删除它们。当我在Linux服务器上运行这些命令时,cd进入目录并且删除不起作用所以我需要使用find或ls with rm并删除最旧的3个文件。请帮忙。 谢谢:))

2 个答案:

答案 0 :(得分:0)

如果要从某个任意目录中删除文件,请将目录名称传递给ls命令。默认是使用当前目录。

然后使用$()参数展开将tail的结果转移到rm这样的

rm $(ls -1t dirname| tail -n 3)

答案 1 :(得分:0)

rm $(ls -1t | tail -n 3) 2> /dev/null