通过在开头添加一个字符串来重命名多个文件


21

对于目录中的约200个文件,我想将字符串添加1_到所有文件名的开头。

例如,文件名是,DATASET_X_Y_Z结果应该是1_DATASET_X_Y_Z

我对Shell脚本一无所知,但终端可能只有一个内衬。



@Rinzwind链接是关于另一个问题。Macydanim问题是关于在文件名之前加上字符串,而不是文件内容。
jc

Answers:


38
  • rename 's/^/1_/' * 用于重命名当前目录中的所有文件

要么

  • rename 's/^/1_/' DATASET*用于重命名当前目录DATASET中以其名称 开头的所有文件

说明:该表达式s/^/1_/说:“将文件名的开头(表示此符号-> ^)替换为1_”。


如果您rename没有立即执行此操作,则需要安装prename(PERL重命名)。
user1359'1

14

您可以轻松地重命名当前目录中键入的所有文件(假设您正在使用bash):

for i in *; do mv "$i" 1_"$i"; done

显然要小心;它将保留当前目录中所有“可见”的文件(文件名不以“。”开头)


这是我找到的第一个正确的解决方案,该解决方案可用于将类似的内容附加.csv到文件的子集,并使用更改的通配符代替*。+1
Zelphir Kaltstahl '16

哇!在CLI上循环!这是新的。:)
Raymond Wachaga

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.