ディレクトリ内のすべてのファイルの名前を変更する方法はありますか?

ディレクトリ内のすべてのファイルの名前を変更する方法はありますか?

ウブントゥ 16.04

私は Linux の初心者で、ディレクトリに多数のファイルがありますdir。これらのファイルには postfix が付いています_uploaded

_handledこれらすべてのファイルの名前を変更し、の代わりにpostfix を設定する方法はありますか_uploaded?

答え1

Ubuntu にはrename( prename) があり、ディレクトリは次の通りですdir:

rename -n 's/_uploaded$/_handled/g' -- *_uploaded
  • -n--dry-run

潜在的な変更内容を確認したら、n実際のアクションのために削除します。

rename 's/_uploaded$/_handled/g' -- *_uploaded

ディレクトリの末尾に文字列を含むファイル名をループ処理するbashことで、パラメータ拡張を利用することもできます。for_uploadeddir

for f in *_uploaded; do new=${f%_uploaded}; echo mv -- "$f" "${new}_handled"; done

これにより、行うべき変更が表示され、echo実際のアクションのために削除します。

関連情報