当文件数大于5时,我想删除目录中最旧的文件。我正在使用
(ls -1t | tail -n 3)
获取目录中最旧的3个文件。这完全符合我的要求。现在我想用rm在一个命令中删除它们。当我在Linux服务器上运行这些命令时,cd进入目录并且删除不起作用所以我需要使用find或ls with rm并删除最旧的3个文件。请帮忙。 谢谢:))
答案 0 :(得分:0)
如果要从某个任意目录中删除文件,请将目录名称传递给ls
命令。默认是使用当前目录。
然后使用$()
参数展开将tail
的结果转移到rm
这样的
rm $(ls -1t dirname| tail -n 3)
答案 1 :(得分:0)
rm $(ls -1t | tail -n 3) 2> /dev/null