我想重命名一些文件。我有很多这种格式的文件:?????.pdb
.
该文件的名称由 5 个字符(数字和字母)组成,新名称将如下所示????_biounit?.pdb
。旧名称的前 4 个字符必须保留,而第五个字符必须插入到单词“biounits”之后。
一些例子:
原始文件:
1b471.pdb 1caz4.pdb 1ca93.pdb
新文件:
1b47_biounit1.pdb 1caz_biounit4.pdb 1ca9_biounit3.pdb
我尝试使用 comand mv 来做到这一点,但我无法区分前四个字符和第五个字符。有人能帮助我吗?
答案1
使用 shell 循环:
for f in ?????.pdb; do mv "$f" "${f%?.pdb}_biounit${f#????}"; done
${f%?.pdb}
?.pdb
从文件名末尾删除。${f#????}
????
从文件名的开头删除。
答案2
使用perl重命名工具:
rename -n 's/(....)(.)/$1_biounit$2/' ?????.pdb
-n
如果您对输出满意,请删除。