使用交互式 rm (rm -i) 计算已删除的文件

pat*_*eza 2 bash rm interactive

我想计算交互式删除的文件和目录的数量:

for f in /tmp/mydir/* ; do
  rm -ir "$f"
done
Run Code Online (Sandbox Code Playgroud)

如何以最简洁/优雅的方式做到这一点?


例子:

abc@def:/tmp/mydir$ tree
.
??? 1
??? 2
??? 3
??? 4
??? A
?   ??? 1
?   ??? 2
?   ??? 3
??? B
?   ??? 1
?   ??? 2
??? C

3 directories, 9 files
Run Code Online (Sandbox Code Playgroud)

如果所有答案都是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)。

两个版本都受欢迎。

我知道我可以在运行交互之前和之后计算文件/目录rm,但事实并非如此,因为实际上我遍历存储在文本文件中的文件。

Fel*_*xJN 5

只需使用:

rm -vri files | wc -l
Run Code Online (Sandbox Code Playgroud)

也将包括目录(即删除A)。这将起作用,因为-v只会将成功removed ’file’(或目录)输出发送到stdout,而所有其他输出都发送到stderr

在您的示例中,输出将为12,因为有 3 个目录和 9 个文件。