如何删除除最后 10 个文件之外的所有文件

如何删除除最后 10 个文件之外的所有文件

作为自动化过程的结果,我累积了按顺序命名的文件,并且我只想保留最后 10 个文件。我尝试了这个,它的效果是删除所有内容:

ls -r | more +11 | xargs rm

显然,管道传输more +n会导致整个结果被管道传输,而不考虑参数+n

正确的做法是什么?

答案1

我承认,more文档中没有任何内容让我明白这将会发生。但是,由于您想在指定的行号(特别是 11)处开始显示(输出/处理)输入(文件列表),因此要使用的逻辑命令是tail

ls -r | tail -n +11 | …

给智者的一句话:在做一些危险的事情之前,通过管道输入cator xargs(没有命令)来测试这样的事情xargs rm

相关内容