此命令将查找大小为零的文件:
find . -size 0
返回的文件名可能是
filename.001
我正在寻找一个可以删除用此命令找到的文件以及任何具有相同文件名但扩展名不同的文件(大小非零)的单行程序,因此这些文件也会被删除:
filename.txt
filename.bak
filename.ZZz
答案1
$> find . -size 0 | while read f; do rm "${f%.*}."* ; done
解释:
- 查找所有大小为 0 的文件
- 将名称传送到 while 循环
- 删除后缀(扩展)部分
${f%.*}
(读作man bash
) rm
具有相同基础的所有其他文件