使用rm命令删除深层目录中的特定文件。

13 浏览
0 Comments

使用rm命令删除深层目录中的特定文件。

我想要删除特定目录中的所有png图片。\n如果有以下目录和图片,我该如何一次性删除所有png文件?\n

\n.\n├── 1\n│   ├── 2\n│   │   ├── 3\n│   │   └── 3.png\n│   └── 2.png\n└── 1.png\n

\n我尝试了以下命令。\n

rm -rf *.png       #只删除了1.png。
rm -rf **/*.png    #只删除了2.png。
rm -rf **/**/*.png #只删除了3.png。

0
0 Comments

问题的出现原因:

用户想要使用rm命令在深层目录中删除特定文件,但是在执行命令时出现了问题。

解决方法:

根据类似问题的回答,可以使用以下命令来解决该问题:find . -name "*.png" -exec rm {} \;

该命令使用find命令来查找当前目录及其子目录中所有扩展名为.png的文件,并使用exec选项将它们传递给rm命令进行删除。

0
0 Comments

在深层目录中删除特定文件的问题可能出现的原因是,当用户需要删除一个特定类型的文件(例如.png文件)时,手动一个一个地删除文件非常繁琐和耗时。为了解决这个问题,用户可以使用Shell命令来批量删除目标文件。

解决方法是使用以下命令:find . -name \*.png | xargs rm。这个命令的意思是在当前目录及其子目录中查找所有以.png结尾的文件,并将它们作为参数传递给rm命令来删除这些文件。

其中,find . -name \*.png用于查找所有以.png结尾的文件。点号(.)表示当前目录,-name选项用于指定文件名的模式(通配符)。在这个例子中,使用\*通配符来匹配任意字符,然后跟上.png来匹配以.png结尾的文件。

接下来,xargs rm用于将find命令的输出作为参数传递给rm命令。xargs命令的作用是将输入转换为命令行参数。在这个例子中,它将找到的所有文件传递给rm命令,以便将其删除。

通过使用这个命令,用户可以快速、方便地删除深层目录中的特定文件,避免了手动一个一个地删除文件的麻烦和耗时。这对于需要频繁处理大量文件的用户来说特别有用。

0
0 Comments

问题的出现原因是想要使用rm命令递归删除深层目录中的特定文件,但没有设置globstar选项。解决方法有两种选择:

第一种方法是设置globstar选项,该选项在Bash 4中引入,用于启用递归通配符功能。具体的操作可以按照以下步骤进行:

1. 打开终端或命令行界面。

2. 输入以下命令:shopt -s globstar。

3. 输入以下命令:rm -f **/*.png。

第二种方法是使用find命令和delete动作来实现递归删除特定文件。具体的操作可以按照以下步骤进行:

1. 打开终端或命令行界面。

2. 输入以下命令:find . -name '*.png' -delete。

需要注意的是,rm命令的-r选项用于递归删除目录及其内容,但默认情况下rm命令无法删除目录。该选项不会改变文件名扩展或通配符的工作方式。

以上就是解决“Remove particular files in deep directory by rm command”问题的原因和解决方法。

0