Shell

如何刪除除最後 10 個文件之外的所有文件

  • October 31, 2015

作為自動化過程的結果,我累積了按順序命名的文件,我只想保留最後 10 個。我試過這個,它具有刪除所有內容的效果:

ls -r | more +11 | xargs rm

顯然管道more +n會導致整個結果被管道化,而不考慮+n參數。

什麼是正確的方法?

我承認,more文件中的任何內容都沒有告訴我這會發生。但是,由於您想在指定的行號(特別是 11)處開始顯示(輸出/處理)輸入(文件列表),所以要使用的邏輯命令是tail

ls -r | tail -n +11 | …

對聰明人的一句話:在你做一些危險的事情之前,通過管道進入cator (沒有命令)測試這樣的事情。xargs``xargs rm

引用自:https://unix.stackexchange.com/questions/189423