Bash 从Shell:删除所有带撇号的文件
如何删除带有撇号的文件夹中的所有文件 例如:Bash 从Shell:删除所有带撇号的文件,bash,shell,delete-file,delete-directory,Bash,Shell,Delete File,Delete Directory,如何删除带有撇号的文件夹中的所有文件 例如: 贝尔德隧道.jpg 巴赫的鸟 这不好 我希望删除所有这些文件,但任何没有撇号的文件都保持完整,例如: 这很好 donotdelete.png 在上海你可以做什么 rm *\'* 您可以使用find命令: find-名称“*”*“-删除 正如@Bryan在评论中指出的,这将删除当前目录和所有子目录中的所有文件。如果您不想删除目录,请使用: find-名称“*”*”-maxdepth 1-删除 这使得find停留在当前目录中。GNU find find
贝尔德隧道.jpg 巴赫的鸟 这不好 我希望删除所有这些文件,但任何没有撇号的文件都保持完整,例如:
这很好 donotdelete.png 在上海你可以做什么
rm *\'*
您可以使用
find
命令:
find-名称“*”*“-删除
正如@Bryan在评论中指出的,这将删除当前目录和所有子目录中的所有文件。如果您不想删除目录,请使用:
find-名称“*”*”-maxdepth 1-删除
这使得find
停留在当前目录中。GNU find
find /path/ -type f -name "*[']*" -exec rm {} +;
当然,最好是bash或sh,不带任何其他参数,这将删除当前目录和所有子目录中的所有文件。这应该是
-maxdepth 1
(-depth
用于深度优先处理,不带参数)@Dennis出于某种原因,在我的mac电脑上,-depth 1
的行为类似于-maxdepth 1
,这不适用于给定的示例,因为它们有空格。更好:为fn在\;请填写rm“$fn”;完成