在目录中创建具有特定字符的文件列表

在目录中创建具有特定字符的文件列表

我希望能够列出文件夹中第三个字符为特定字符的所有文件。对于每个文件,我希望能够执行一个操作,可能是删除或移动。我查看了带有 grep/cut 选项的 ls 命令,但我不知道如何获取可以处理的最终列表。

谢谢。

答案1

您还可以使用“查找”命令来查找文件并单独对每个文件执行操作。

find <directory_name> -name '??t*' -exec mv {} <target_directory> \;

答案2

您可以直接在 shell 中进行一些模式匹配,而无需调用外部程序。

假设您有一个包含以下文件的文件夹:

$ ls
ant  bat  bird  cat  cats  dog  fish

您只能匹配以 3 个字符长结尾的文件,t如下所示:

$ ls ??t
ant  bat  cat

您可以将任何文件与第三个字符匹配,如下t所示:

$ ls ??t*
ant  bat  cat  cats

请在此处查看更多文档: https://www.gnu.org/software/bash/manual/html_node/Pattern-Matching.html

相关内容