Answers:
假设您要运行:
rm *.txt
您可以运行:
echo rm *.txt
甚至只是:
echo *.txt
查看rm将删除哪些文件,因为它是扩展而*.txt不是的外壳rm。
这对您无济于事rm -r。
如果您要递归删除文件和目录,则可以使用find代替rm -r,例如
find . -name "*.txt" -print
然后,如果它可以满足您的要求,请将更改-print为-delete:
find . -name "*.txt" -delete
tree。
find . -name "*.txt" -delete似乎不是递归的。删除了所有文件,但没有删除列出的目录-print
find . -type d -empty -delete
find不会删除仍包含文件(相当于目录rm dir/无-r)。你必须先清空目录-或使用find到-exec rm用适当的选项来做到这一点。例如find . -depth -name "*.txt" -exec rm -r {} +
echo rm *.txt方法似乎有一个缺点。它将结果显示在串联列表中(一个长字符串,前一个文件之后是一个文件),而不是垂直列表。有什么方法可以使输出显示在垂直列表中(每行一个文件)?(更新:我看到该find方法完成了我所要求的操作。因此,我将继续执行该操作。)
您可以使用ls列出所有将被删除的文件rm:
ls ../path/*.txt
如果您需要列出来查看将以递归方式删除的文件rm,则使用-R带有ls以下标记的标志:
ls -R ../path/*.txt
ls */*/*.txt
-R选项。