1

我在一个目录中有数千个文件我需要重命名添加一个像“th_”这样的前缀,以便文件将是 th_65461516846.jpg 但由于错误“参数太长”我不能

我用过这个命令

重命名 's/^/th_/' *

谢谢!

4

2 回答 2

0

这个完成了工作

for f in *; do mv "$f" "${f/9/th_}";done

或者

for f in * ; do mv $f th_${f#} ; done

我不知道两者之间有什么不同,但就我而言,它们都有效。

于 2013-05-19T13:36:08.200 回答
0

xargs程序用于将命令行分成多个命令,以避免破坏 shell 行长度限制。在您的情况下,您将使用:

ls | xargs rename 's/^/th_/'

它重复执行rename部分输出,ls直到文件列表用尽。请注意,如果文件名中有空格或其他有趣的字符(我假设根据您的示例并非如此),则需要特别注意这个习语。

于 2013-05-19T03:10:54.500 回答