[novashare_inline_content]

ファイル名の変更は、Linux で習得すべき基本的なコマンド ライン タスクの 1 つです。ただし、このタスクは 1 つのファイルで実行するのは比較的簡単ですが、ファイルが複数ある場合はより複雑になります。このチュートリアルでは、Linux 上でコマンドを使用してファイルまたはディレクトリの名前を変更する方法を説明します。mvなどrename

注文とともにmv

注文mv英語のmoveの略です。ファイルまたはディレクトリをある場所から別の場所に移動できます。このコマンドを使用すると、ファイルの名前を変更し、新しい名前で移動することもできます。に統合されていますコアユーティリティしたがって、デフォルトでインストールされます。

Linux 上のファイルまたはディレクトリの名前を変更するには、mv

コマンド構文mvファイルの名前を変更するには次のようにします。

mv [OPTIONS] source destination

たとえば、ファイルの名前を変更するにはancien_nom.txtに向かってnouveau_nom.txt、次のコマンドを使用する必要があります。

mv ancien_nom.txt nouveau_nom.txt

⚠️ 注意 :注文mvオプションの場合、宛先ファイルを上書きできます-私は指定されていません。

コマンドを使用するls -l結果を表示するには:

ls -l

もちろん、ファイルの名前を変更するときに、ファイルを別の場所に移動したい場合は、ファイルの保存先を変更することもできます。例えば ​​:

mv /ancien/emplacement/ancien_nom.txt /nouvel/emplacement/nouveau_nom.txt

使用できますmvファイルの場合と同じ方法でディレクトリの名前を変更するには、次のようにします。

mv /emplacement/ancien_nom_répertoire /emplacement/nouveau_nom_répertoire

複数のファイルの名前を変更するmv

注文mv一度に 1 つのファイルの名前のみ変更できます。ただし、複数のファイルの名前を一度に変更したい場合もあります。ここが難しいところです。実際、このタスクを実行するにはmv、ループと組み合わせて使用​​する必要がありますforまたは検索find複数のファイルの名前を同時に変更します。

たとえば、ループを使用します。for複数のファイルの拡張子を変更するには.html.old:

for f in *.html; do
    mv -- "$f" "${f%.html}.old"
done

コードを 1 行ずつ分析してみましょう。

  • 最初の行はループを作成しますfor拡張子で終わるすべてのファイルを繰り返します.html
  • 2 行目は各反復に適用され、拡張子を変更して各ファイルの名前を変更します。.htmlもっている.old
  • doneループの終わりを示します

この 2 番目の例は、次を使用した同じ例を示しています。findと組み合わせてmv:

find . -depth -name "*.html" -exec sh -c 'f="{}"; mv -- "$f" "${f%.html}.old"' \;

注文findで終わるすべてのファイルを検索します.html現在のディレクトリにあります。その後、-execコマンドを実行するmv検索に一致するすべてのファイルに対して。

ご覧のとおり、使用方法はmv複数のファイルの名前を変更するのは簡単ではなく、優れた bash スキルが必要です。

一緒に使用する一般的なオプションmv

コマンドで使用するオプションをいくつか示します。mv:

  • -私: ファイルを上書きする前に警告メッセージを表示します。
  • -f: 上書きする前に確認を求めません。これは、のデフォルトの動作に少し似ています。mv
  • -v: コマンドが実行した内容を表示します

⚠️ 注意 :オプションを使用する場合-fなど-私同時に、最後に指定したオプションが優先されます。

さらに詳しく知るにはmvと入力してください。man mv端末内またはcoreutils マニュアルを参照してください

注文renameLinux で複数のファイルの名前を変更するには

renameの代替品ですmvPerl 式に基づいて複数のファイルの名前を変更します。構文をマスターすると、この種の操作での使用がより強力になり、簡単になります。

まず、パッケージをインストールしますrename。南デビアン:

sudo apt install rename 

その後、使用できますrename。以下にいくつかの例を示します。まずすべてのファイルの名前を変更します.pdf。TXTディレクトリにあります:

rename -v 's/.pdf/.txt/' *.pdf

ファイルの名前を変更せずにコマンドの結果をテストするには、オプションを使用します-n:

rename -n 's/.txt/.pdf/' *.txt

ファイル名の一部を置き換えます。たとえば、すべての .txt の「file」ごとに次のようにします。

rename -v 's/fichier/file/' *.txt

ディレクトリ内のファイル名を大文字に変換します。

rename -v 'y/a-z/A-Z/' *

ディレクトリ内のファイル名を小文字に変換します。

rename -v 'y/A-Z/a-z/' *

この記事をシェアする

[novashare_inline_content]

また、記事のアイデアを提出する検索結果が異なる場合。