如何重命名目录中的所有文件,使文件在“ .txt”之前添加“ _1”
apac_02_aug_2017_file.txt
emea_02_May_2017_file.txt
ger__02_Jun_2017_file.txt
到
apac_02_aug_2017_file_1.txt
emea_02_May_2017_file_1.txt
ger__02_Jun_2017_file_1.txt
rename .txt _1.txt *
应该做你想要的。
引用man rename
:
重命名[选项]表达式替换文件...
重命名将通过替换名称中出现的第一个表达式来重命名指定的文件。
由于您说rename
系统上未安装该工具,因此以下是使用更多标准Bash的解决方案:
for file in *.txt; do
mv "$file" "${file%.txt}_1.txt"
done
说明:我们遍历所有文件。对于每个文件,我们都使用所谓的“参数扩展”(这是${}
一部分)将其移动到正确的位置。%
可以在参数扩展中使用特殊字符以匹配字符串末尾的模式并将其删除。
有关更多信息,请参见:http : //wiki.bash-hackers.org/syntax/pe#from_the_end
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句