一部のファイル名の変更(プレフィックスからサフィックスへ)

一部のファイル名の変更(プレフィックスからサフィックスへ)

何千ものファイル名 t_00xx_000xxx.png00xx_000xxx.png始まるファイルの名前を変更したいと思いますt_t_00xx_000xxx.png00xx_000xxx_t.png

したがって、一部のファイルでは、プレフィックスがサフィックスとして使用されます。単一のコマンドでこれを実行できますか?

私はSUSE SLES12 SP2を実行しています。

ベストアンサー1

xが任意の単一文字である可能性があるファイル名パターンが与えられると、t_00xx_000xxx.png次のループは?ワイルドカードを使用して変数文字を置き換えます。このループはt_.で始まり、終了するファイルのみを選択します.png。パラメータ拡張を使用して先行部分を削除し、必要な部分文字列を抽出して目的の位置にt_移動します。_t

for f in t_00??_000???.png
do
  echo mv -- "$f" "${f:2:11}_t.png"
done

一部の仮想ファイル名では、サンプル出力は次のようになります。

mv t_0011_000111.png 0011_000111_t.png
mv t_0012_000345.png 0012_000345_t.png
mv t_00xx_000xxx.png 00xx_000xxx_t.png

echo結果が正しい場合は、セクションを削除してください。

おすすめ記事