我在一个目录中有数千个文件我需要重命名添加一个像“th_”这样的前缀,以便文件将是 th_65461516846.jpg 但由于错误“参数太长”我不能
我用过这个命令
重命名 's/^/th_/' *
谢谢!
这个完成了工作
for f in *; do mv "$f" "${f/9/th_}";done
或者
for f in * ; do mv $f th_${f#} ; done
我不知道两者之间有什么不同,但就我而言,它们都有效。
xargs程序用于将命令行分成多个命令,以避免破坏 shell 行长度限制。在您的情况下,您将使用:
ls | xargs rename 's/^/th_/'
它重复执行rename
部分输出,ls
直到文件列表用尽。请注意,如果文件名中有空格或其他有趣的字符(我假设根据您的示例并非如此),则需要特别注意这个习语。