
ディレクトリ内に「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