Bash
使用互動式 rm (rm -i) 計算已刪除文件
我想計算互動式刪除的文件和目錄的數量:
for f in /tmp/mydir/* ; do rm -ir "$f" done
如何以最簡潔/優雅的方式做到這一點?
例子:
abc@def:/tmp/mydir$ tree . ├── 1 ├── 2 ├── 3 ├── 4 ├── A │ ├── 1 │ ├── 2 │ └── 3 ├── B │ ├── 1 │ └── 2 └── C 3 directories, 9 files
如果所有答案都是y(是),那麼我期待答案:
- 7(計數:
1
,2
,3
,4
,A
,B
,C
)或:- 10(計數:
1
,2
,3
,4
,A/1
,A/2
,A/3
,B/1
,B/2
,C
)。兩個版本都受歡迎。
我知道我可以在執行 interactive 之前和之後計算文件/目錄
rm
,但事實並非如此,因為實際上我遍歷了儲存在文本文件中的文件。
只需使用:
rm -vri files | wc -l
也將包括目錄(即刪除
A
)。這將起作用,因為-v
只會將成功removed ’file’
(或目錄)輸出發送到stdout
,而所有其他輸出都發送到stderr
.在您的範例中,輸出將為
12
,因為有 3 個目錄和 9 個文件。