0

ディレクトリにたくさんのファイルがあります。名前の一部を取り除いて、すべての名前を変更する必要があります。例:

年:

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」は削除する必要があり、すべてのファイルで同じです。

4

2 に答える 2

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
于 2012-10-12T13:22:20.330 に答える
0

mmv のマンページを参照してください。何かのようなもの

mmv '*_test.txt*' '#1#2'

トリックを行う必要があります。

于 2012-10-12T13:17:45.050 に答える