拡張子ではなくファイル名を変更するには、中かっこ拡張を使用しますか?

拡張子ではなくファイル名を変更するには、中かっこ拡張を使用しますか?

拡張子が異なる複数のファイルを含むディレクトリがありますが、拡張子の前のファイル名はすべて同じです。たとえば、file1.txt、file1.jpg、file1.pdf、file1.odt...

「file1」部分のみを変更し、拡張子は変更しないため、結果はnewfilename.txt、newfilename.jpg、newfilename.pdf、newfilename.odtと同じです。

それぞれを退屈に実行することなく、mv file1.txt newfilename.txtこれを行う方法がわかりません。拡張したい部分がすべて分かっている場合は、中かっこ拡張を使用してファイル名を変更する多くのチュートリアルをオンラインで見つけることができますが、拡張子が何であれ、file1をnewfilenameに置き換えることはできません。これは可能ですか、それとも間違った木を吠えていますか?

ありがとう

編集:申し訳ありません。この記事を投稿した直後、Googleの検索結果でこの質問に対する回答を提供する別のページが見つかりました。for f in file1.*; do mv "$f" "${f/file1/newfilename}"; done完璧に動作しました。

ベストアンサー1

質問を投稿した後、次のことがわかりました。

for f in file1.*; do mv "$f" "${f/file1/newfilename}"; done

奇跡的に動作します。

おすすめ記事