在 linux 上重命名具有不同扩展名的多个文件
Rename multiple files with different extensions on 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./' *
s/[.]([^.]+)$/-4cc8./
是一个 perl expression of the form s/PATTERN/REPLACEMENT/
它告诉 rename
进行全局替换。
[.]([^.]+)$
是一个正则表达式模式,含义如下:
[.] 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.
告诉 rename
将匹配的文本替换为文字 -4cc8.
后跟第一组匹配的文本,即文字句点之后的任何内容。
我有一堆具有不同扩展名的文件,我想在所有文件名的末尾添加一个后缀:
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./' *
s/[.]([^.]+)$/-4cc8./
是一个 perl expression of the form s/PATTERN/REPLACEMENT/
它告诉 rename
进行全局替换。
[.]([^.]+)$
是一个正则表达式模式,含义如下:
[.] 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.
告诉 rename
将匹配的文本替换为文字 -4cc8.
后跟第一组匹配的文本,即文字句点之后的任何内容。