Linuxでファイル名を一括で変更する方法とその応用例

この記事では、Linux環境でファイルの名前を一括で変更する方法を詳しく解説します。Linuxのコマンドラインインターフェース(CLI)を用いた複数の方法や、実用的な応用例についても言及します。

目次

基本的な一括変更方法

Linuxには、ファイル名を一括で変更するためのコマンドが複数存在します。以下はその基本的な方法です。

renameコマンド

# "txt" 拡張子のファイルを "bak" 拡張子に変更
rename 's/\.txt$/.bak/' *.txt

このコマンドは、カレントディレクトリ内の全ての`.txt`ファイルを`.bak`に変更します。

mvとforループ

for f in *.txt; do
  mv "$f" "${f%.txt}.bak"
done

このスクリプトも同様に、`.txt`ファイルを`.bak`ファイルに変更しますが、`mv`コマンドと`for`ループを使います。

応用例

日付を付与する

today=$(date +%Y%m%d)
for f in *.jpg; do
  mv "$f" "$today-$f"
done

この例では、JPEGファイルに今日の日付を付与します。

一括でディレクトリに移動

for f in *.bak; do
  mv "$f" backup/
done

このスクリプトは、`.bak`拡張子のファイルを`backup/`ディレクトリに移動します。

ファイル名の大文字を小文字に変換

for f in *; do
  mv "$f" "$(echo $f | tr '[:upper:]' '[:lower:]')"
done

この例では、全てのファイル名の大文字を小文字に変換します。

ファイル名に特定の文字列を追加

for f in *.png; do
  mv "$f" "icon-$f"
done

このスクリプトは、全ての`.png`ファイルの名前の前に`icon-`という文字列を追加します。

まとめ

Linuxでファイル名を一括で変更する方法は多数あり、それぞれの用途に応じて最適な方法が選べます。今回紹介した基本的な方法から応用例まで、用途に応じて柔軟に使い分けることができます。

created by Rinker
オライリージャパン
¥3,080 (2024/11/22 17:53:11時点 Amazon調べ-詳細)

コメント

コメントする

目次