Linux根据输入文件重命名文件

鲁本·约翰·彭格利(Reuben John Pengelly):

我需要在Linux中重命名数百个文件,以从命令行更改每个文件的唯一标识符。为了举例,我有一个包含以下内容的文件:

old_name1 new_name1
old_name2 new_name2

并且需要将名称从新ID更改为旧ID。文件名包含ID,但也包含其他字符。因此,我的计划最终是:

abcd_old_name1_1234.txt ==> abcd_new_name1_1234.txt
abcd_old_name2_1234.txt ==> abcd_new_name2_1234.txt

rename在这里使用显然是很有帮助的,但是我正在努力研究如何遍历所需名称更改的文件并将其作为输入传递给rename

编辑:为澄清起见,我正在寻找数百个不同的重命名命令,需要进行的不同更改在文本文件中列出。

抱歉,如果这个问题已经得到解决,我一直在追捕,但找不到类似的情况。

an:
while read -r old_name new_name; do
    rename "s/$old_name/$new_name/" *$old_name*.txt
done < file_with_names

通过这种方式,您可以file_with_names中读取ID并重命名文件$old_name$new_name而其余文件名保持不变。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章