Regex 使用重命名和grep模式重命名终端中的文件
我试图使用Regex 使用重命名和grep模式重命名终端中的文件,regex,rename,Regex,Rename,我试图使用重命名更改目录中许多文件的名称,但我使用的模式无法使用重命名,即使它在我的文本编辑器(BBEdit)中工作。我想知道如何修改我正在使用的rename命令或模式,以便消除每个文件的长前缀 我的目录列表如下所示: bos012_attempt_2018-02-15-01-52-18_KIC Document 0001.pdf gem512_attempt_2018-02-14-20-30-11_Geo HW 2.pdf kgs252_attempt_2018-02-14-23-35-03_
重命名
更改目录中许多文件的名称,但我使用的模式无法使用重命名
,即使它在我的文本编辑器(BBEdit)中工作。我想知道如何修改我正在使用的rename
命令或模式,以便消除每个文件的长前缀
我的目录列表如下所示:
bos012_attempt_2018-02-15-01-52-18_KIC Document 0001.pdf
gem512_attempt_2018-02-14-20-30-11_Geo HW 2.pdf
kgs252_attempt_2018-02-14-23-35-03_kgs252_hw2.pdf
nrs728_attempt_2018-02-15-10-04-42_mids.png
oko018_attempt_2018-02-15-23-57-57_Hw2.pdf
我想把这个换成
KIC Document 0001.pdf
Geo HW 2.pdf
kgs252_hw2.pdf
mids.png
Hw2.pdf
使用rename-vs's/\D\D\D\D\D\D\D\u尝试\u 2018-\D\D-\D\D-\D\D-\D\D-\D\D/'/g'*
在名称中不产生任何更改。然而,在我的文本编辑器中,将模式\D\D\D\D\D\u trunt\u 2018-\D\D-\D\D-\D\D-\D\D\D\u更改为无字符效果很好。我试过不同的东西,例如
重命名-vs\D\D\D\D\D\D\u尝试\u 2018-\D\D-\D\D-\D\D-\D\D-\D\D''.*
什么也没有
mydir$rename-nvs\D\D\D\D\D\D\u尝试\u 2018-\D\D-\D\D-\D\D-\D\D-\D\D''.*
返回
Using expression: sub { use feature ':5.18';
s/\Q${\"DDDddd_attempt_2018\-dd\-dd\-dd\-dd\-dd_"}// }
'bos012_attempt_2018-02-15-01-52-18_KIC_Document_0001.pdf' unchanged
'gem512_attempt_2018-02-14-20-30-11_Geo_HW_2.pdf' unchanged
'nrs728_attempt_2018-02-15-10-04-42_mids.png' unchanged
'oko018_attempt_2018-02-15-23-57-57_Hw2.pdf' unchanged
根据您的重命名
版本,您可以使用此重命名
命令:
rename -n 's/.*_attempt_\d{4}(-\d{2}){5}_//' *.{pdf,png}
如果您对输出感到满意,请删除dry run的remove-n
参数。对我不起作用。返回时没有任何消息。使用-n
或不使用-n
。您的文件名可能使用不同的模式,或者您可能没有使用相同的重命名
perl实用程序。我刚刚意识到重命名
没有递归选项。这就是问题所在。但我希望它有。使用它查找-是的,我在挣扎。它的-regex
并不像我期望的那样工作。谢谢你的帮助。
'bos012_attempt_2018-02-15-01-52-18_KIC Document 0001.pdf' would be renamed to 'KIC Document 0001.pdf'
'gem512_attempt_2018-02-14-20-30-11_Geo HW 2.pdf' would be renamed to 'Geo HW 2.pdf'
'kgs252_attempt_2018-02-14-23-35-03_kgs252_hw2.pdf' would be renamed to 'kgs252_hw2.pdf'
'oko018_attempt_2018-02-15-23-57-57_Hw2.pdf' would be renamed to 'Hw2.pdf'
'nrs728_attempt_2018-02-15-10-04-42_mids.png' would be renamed to 'mids.png'