「assignment02.cc」、「assignment02.h」、「assignment02.txt」などのパターンに一致するファイルのコレクションがあります。これらのファイルを「assignment03.cc」、「assignment03」にコピー/名前変更したいと思います。 h '、' assignment03.txt 'など。
シェルスクリプトを使用してsedを使用するのは簡単だと思います。これまでのところ:
OLD_NO=$1
NEW_NO=$2
echo "Moving from $OLD_NO to $NEW_NO"
for name in assignment$OLD_NO.* ; do
newname=$(echo $name | sed 's/\(.*\)$OLD_NO\(.*\)/\1xx$NEW_NO\2/')
echo "$name -> $newname"
# mv -v $name $newname
done
残念ながら、sedを呼び出す方法は常に入力文字列$name
を返し、実際には正規表現の検索/置換を行いません。
注:インターネットを見ると、rename
この機能を持つコマンドがありますが、私のMacBookでは使用できません。
newname=$(echo $name | tr $OLD_NO $NEW_NO)
$OLD_NO
および$NEW_NO
拡張されません。