Linux 用于文件名上一个字符的Unix重命名命令

Linux 用于文件名上一个字符的Unix重命名命令,linux,unix,aix,Linux,Unix,Aix,我有1000多个文件,我想更改文件名上的一个字符,例如:GM001001、GM001002、GM001003等。。更名为GX001001、GX001002、GX001003等。。。正如您所看到的,公分母将是要替换为X的M。您可以将mv与结合以实现这一点: for f in $(ls) do mv $f ${f/GM/GX} done 抱歉,投票结束是因为“正在寻求书籍、工具、软件库等的推荐”。。。。StackOverflow致力于帮助解决编程代码问题。您的Q可能更适合于,但请阅读他们关于主

我有1000多个文件,我想更改文件名上的一个字符,例如:GM001001、GM001002、GM001003等。。更名为GX001001、GX001002、GX001003等。。。正如您所看到的,公分母将是要替换为X的M。

您可以将
mv
与结合以实现这一点:

for f in $(ls)
do
  mv $f ${f/GM/GX}
done

抱歉,投票结束是因为“正在寻求书籍、工具、软件库等的推荐”。。。。StackOverflow致力于帮助解决编程代码问题。您的Q可能更适合于,但请阅读他们关于主题问题的帮助部分。在这里发布更多Qs之前,请阅读和。祝你好运。有些系统有一个基于Perl的
rename
(偶尔
prename
)命令。您可以这样写:
重命名s/GM/GX/GM[0-9][0-9][0-9][0-9][0-9][0-9]
以重命名所有以字母GM开头并以六位数字继续的文件。另请参见公认答案中提倡使用
重命名
的地方。请注意,在$(ls)中使用
表示f通常不是一个好主意。更好的选择是glob,例如GM[0-9]*
中的f的
,它将正确处理文件名中的空格等(与使用
ls
的版本不同)。诚然,这些名字可能很简单,不成问题。
ls
符号还会列出未启动
GM
的文件。
[0-9]
位是确保文件名具有正确格式的sop。使用
GM[0-9][0-9][0-9][0-9][0-9][0-9][0-9]
将更加详细,但对于问题中显示的六位数字更可靠。完美,效果很好。非常感谢。