扩展名不同的多个文件我有不同的扩展名一堆文件,我想在他们的名字的末尾添加一个后缀:重命名的Linux
Fe2-K-D4.rac
Fe2-K-D4.plo
Fe2-K-D4_iso.xy
...
到
Fe2-K-D4-4cc8.rac
Fe2-K-D4-4cc8.plo
Fe2-K-D4-4cc8_iso.xy
...
我读了一些关于使用重命名工具更改扩展的文章,但我不知道如何更改名称并保持相同的扩展名(我是最近的linus用户)。
感谢所有帮助
扩展名不同的多个文件我有不同的扩展名一堆文件,我想在他们的名字的末尾添加一个后缀:重命名的Linux
Fe2-K-D4.rac
Fe2-K-D4.plo
Fe2-K-D4_iso.xy
...
到
Fe2-K-D4-4cc8.rac
Fe2-K-D4-4cc8.plo
Fe2-K-D4-4cc8_iso.xy
...
我读了一些关于使用重命名工具更改扩展的文章,但我不知道如何更改名称并保持相同的扩展名(我是最近的linus用户)。
感谢所有帮助
使用Extract filename and extension in Bash,我会说:
for file in *
do
extension="${file##*.}"
filename="${file%.*}"
mv "$file" "${filename}-4cc8.${extension}"
done
这个循环遍历所有的文件,它的名字和扩展名,然后将它(即,将其重命名)移动到给定的名称在扩展之前具有额外的-4cc8
值。
使用rename
:
rename 's/[.]([^.]+)$/-4cc8.$1/' *
s/[.]([^.]+)$/-4cc8.$1/
是perl expression of the form s/PATTERN/REPLACEMENT/
告诉rename
做一个全球性的substition。
[.]([^.]+)$
是一个正则表达式模式具有以下含义:
[.] match a literal period
( followed by a group
[ containing a character class
^. composed of anything except a literal period
]+ match 1-or-more characters from the character class
) end group
$ match the end of the string.
的替换模式,-4cc8.$1
,讲述rename
与文字-4cc8.
后跟文本相匹配的第一组中以替换匹配的文本,即任何随后文字时期。
它就像一个魅力! 祝你有个美好的一天,你做了我的。 – Portecochon