ファイル名の特定の部分名を小文字から大文字に変更します。

ファイル名の特定の部分名を小文字から大文字に変更します。

次の名前のファイルが複数あるディレクトリがあります。

London_qle_merged
Paris_qle_merged
Tokyo_qle_merged
London_qle_obs
Paris_qle_merged
Tokyo_qle_merged

ファイル名に* mergedを含むファイルの名前を変更する方法は次のとおりです。

London_Qle_merged
Paris_Qle_merged
Tokyo_Qle_merged

私は次のようにループを実行できることを知っています。

for name in Paris London Tokyo do;
  mv ${name}_qle_merged ${name}_Qle_merged
done

しかし、他の方法はありませんか?

ベストアンサー1

確かに。 ksh/Bash/zshから:

for f in *_merged; do
    mv -- "$f" "${f/_qle_/_Qle_}" 
done

または標準住宅にあります。

for f in *_qle_merged; do
    mv -- "$f" "${f%_qle_merged}_Qle_merged" 
done

たとえば、参照してください。BashGuideのパラメータ拡張

おすすめ記事