我想重命名多个文件,但不仅仅是将字符串附加到文件的末尾或开头。我想把它放在一个特定的位置。这是我现在正在使用的命令,但它只能在文件名的开头和结尾添加内容。
for f in `ls ~/tmp/*`; do FILE=`basename $f`; echo "Rename:"$f;echo $FILE; mv "$f" "/home/tmp/JC_"${FILE%.*}"_hg19."${FILE#*.}""; done
假设文件名如下 hell_1.txt
(假设有很多文件,为简单起见,每个文件都有不同的编号)我想添加一个 o
到文件名中,这样生成的名称将是 hello_1.txt
如果您有一个不仅仅针对此示例的通用解决方案,那就太好了。
最佳答案
这应该有效:
for x in ~/tmp/*.txt; do mv $x `echo $x | sed -e 's#hell#hello#'`; done
关于string - bash文件重命名在特定位置添加字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15657393/