2017-04-24 66 views
1

我有一個簡單的bash腳本來查找特定的文件,然後對它們進行排序和刪除。 下面就腳本:爲什麼「rm」命令會覆蓋bash腳本的顯示

find . -type -name "~*" | sort -n | head -5 | xargs rm 

是否有可能以某種方式我之前先打印結果中刪除呢?

+1

你的輸出是什麼?另外,'〜*'不是一個目錄。此外,這看起來非常危險,因爲它可以刪除你不想要的文件,所以我建議你在運行之前仔細考慮一下。 –

+1

你也可以運行*** xargs rm -v ***爲了讓rm命令打印它刪除的內容。 – bluerojo

+0

@bluerojo需要這個!謝謝。沒有想到它。 –

回答

1

tee是一個可行的解決方案,它是如此,你應該有它已經安裝在系統上的coreutils部分:

$ find . -name '~*' | sort -n | head -5 | tee /dev/tty | xargs rm 

順便說一句,我相信你在find命令有錯誤 - 你必須通過值爲-type選項。

+0

是的,-type只是一個類型錯誤,你的代碼就像一個魅力,謝謝你! –