我希望能够列出文件夹中第三个字符为特定字符的所有文件。对于每个文件,我希望能够执行一个操作,可能是删除或移动。我查看了带有 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