ファイル名の文字列の一部を置換する

ファイル名の文字列の一部を置換する

ディレクトリ内に「StringtoReplace」で終わるファイルがいくつかあります。ディレクトリ内のすべてのファイルのファイル名のその部分を新しい文字列「ReplacedString」に置き換えるにはどうすればよいですか?

答え1

これにより、「StringtoReplace」の最初のインスタンスが「ReplacedString」に置き換えられます。

for f in *StringtoReplace; do [ -f "$f" ] && mv -- "$f" "${f/StringtoReplace/ReplacedString}"; done

これにより、最後「ReplacedString」を使用した「StringtoReplace」のインスタンス:

for f in *StringtoReplace; do [ -f "$f" ] && mv -- "$f" "${f%StringtoReplace}ReplacedString"; done

関連情報