我想刪除一些碼頭圖像的修訂版本。我想刪除最後2行。我可以打印最後2行:刪除'ls'輸出的最後兩行
ls -lt | tail -n 2
給我最後2行。
drwxr-xr-x 2 root root 4096 Nov 9 10:56 541a303d3c82785293f89a401038ac33ef2b54b6aeb09efd3d3bda7xxxx
drwxr-xr-x 2 root root 4096 Oct 25 12:07 c74e1399c99de0c23517abc95bc9b16d09df5c4d518776e77d9ae67xxxx
現在是我的問題。我如何刪除它們?
我試圖但比我刪除一切(ls
全輸出)
'LS -t | tail -n 2 | xargs rm -r'您可能首先嚐試使用'xargs echo rm',以確保它能夠做到您想要的。 – eddiem
通常,解析'ls'這樣的東西並不是一個好主意。更好的選擇是使用'find -exec'。 – Questionmark
錯誤命令中的'rm -r *'忽略了其標準輸入 - 除非使用'-i'選項,否則'rm'不會從標準輸入中讀取。 shell將'*'擴展到當前目錄中所有文件名和目錄名中,它們不以'.'開頭,並將這些名稱作爲參數傳遞給'rm',然後完成它應該做的事 - 刪除文件它是作爲參數提供的名稱。 –