我在dir中有一堆文件。我需要重命名所有这些部分名称。实施例:
旧:
64sdfdf2_test.txt363qww6.dat.z
64cvxc65_test.txt36ntg44.dat.z
6jtyjj54_test.txt3as3463.dat.z
新:
64sdfdf2363qww6.dat.z
64cvxc6536ntg44.dat.z
6jtyjj543as3463.dat.z
注意:“_test.txt”是我需要删除的内容,它在所有文件中都是相同的。
答案 0 :(得分:2)
for i in *_test.txt*
do
new_name=`echo $i|sed 's/\(.*\)_test.txt\(.*\)/\1\2/g'
mv $i $new_name
done
我只测试了sed部分及其正常工作:
> echo "64sdfdf2_test.txt363qww6.dat.z" | sed 's/\(.*\)_test.txt\(.*\)/\1\2/g'
64sdfdf2363qww6.dat.z
答案 1 :(得分:0)
请参阅mmv的联机帮助页。像
这样的东西mmv '*_test.txt*' '#1#2'
应该做的伎俩。