如何刷新目錄中所有擴展名為.dat的檔案的內容?

如何刷新目錄中所有擴展名為.dat的檔案的內容?

在目錄中,我有一些擴展名為 .dat 的文件,我想清空所有此類文件,而不是從目錄中刪除這些文件。

我試圖像這樣實現它,但沒有成功

> *.dat
-bash: *.dat: ambiguous redirect

答案1

你可以這樣做:

:|tee -- *.dat

zsh(與multios)等效:

:>*.dat

不過,由於這會同時開啟所有文件,因此如果有大量文件,您可能會達到開啟文件描述符的最大數量限制。

答案2

嘗試

for x in *.dat
do
    > "$x"
done

這基本上是循環遍歷所有文件,>對它們執行 a 。

答案3

如果您的系統有該truncate實用程式(來自 GNU coreutils),您可以這樣做

truncate -s 0 -c -- *.dat

-s 0大小設為零,同時防止在沒有匹配項的情況下-c建立具有文字名稱的新檔案(如果您的 shell在這種情況下返回未展開的檔案)。*.dat*.dat

相關內容