我在一个目录中有 100 个文件,我只想保留第一个文件的一部分与另一个文件匹配的文件,如果不满足条件,则 mv 所有文件都没有相应的文件,例如我有:
man_xyz_1.txt
sig_xyz_1.txt
man_abc_1.txt
man_ttc_1.txt
man_ddd_1.txt
sig_ddd_1.txt
在这里,我只想保留前两个文件 ( man_xyz_1.txt and sig_xyz_1.txt; man_ddd_1.txt and sig_ddd_1.txt
),因为它们的文件名 ( *_xyz_1.txt and *_ddd_1.txt
) 部分匹配,同时想将 mv ( man_abc_1.txt and man_ttc_1.txt
) 放入另一个目录,因为它们没有带前缀的相应文件sig_*
。欢迎任何帮助。谢谢,
这恰恰相反,即查看当前目录中的所有文件
man_*.txt
,并将所有可以与相应文件配对的sig_
文件移动到processed
目录中。然后,您可以将剩余的文件移动到需要存储它们的任何位置。参数替换扩展为删除其前缀字符串
${name#man_}
的值。$name
man_
请注意,这假定该
processed
目录不存在。测试: