文件名匹配,与数字和字符区分

时间:2013-01-08 01:39:57

标签: linux string bash shell match

我有一个包含许多文件的文件夹, 某些文件的名称类似于file_1 file_10 file_21 file_345 其他就像file_fr file_de file_cn 我想将第一种类型的文件移动到另一个文件夹中 喜欢

mv file_* another_folder

但file_ *将匹配所有文件

有没有好的剧本? 感谢

2 个答案:

答案 0 :(得分:1)

试试这个

mv file_[0-9]* another_folder

回应glenn jackman’s comment

ls | grep 'file_[0-9]*$' | xargs mv -t another_folder

答案 1 :(得分:0)

击:

shopt -s extglob
mv file_+([0-9]) ..

http://www.gnu.org/software/bash/manual/bashref.html#Pattern-Matching