Linuxでファイル名を変更するコマンドは何ですか?

青灯夜游
リリース: 2023-02-23 12:05:06
オリジナル
50308 人が閲覧しました

Linux ではファイル名を変更するためのコマンドが 2 つあります: 1. mv コマンド。ファイル名を変更するだけでなく、ファイルやフォルダーを移動することもできます。構文「mv [パラメーター] 古いファイル名、新しいファイル」を変更します。 name"; 2. renameコマンドを使用すると、文字列置換によってファイル名を一括変更できます。構文は、「rename [パラメータ]古いファイル名,新しいファイル名」です。

Linuxでファイル名を変更するコマンドは何ですか?

#このチュートリアルの動作環境: CentOS 6 システム、Dell G3 コンピューター。

Linux でファイルまたはディレクトリの名前を変更するには、mv コマンドまたは rename コマンドを使用できます。ここでは両方の使用方法を共有します。

1. mv コマンドを使用する

mv コマンドは、ファイルまたはフォルダーの名前変更と移動の両方を行うことができます。

mv [参数] 旧文件/目录 新文件名/目录
ログイン後にコピー

例: ディレクトリ A の名前を B に変更します

mv A B
ログイン後にコピー

例: /a ディレクトリを /b に移動し、名前を c に変更します

mv /a /b/c
ログイン後にコピー

実際には、テキスト モードで、ファイルまたはディレクトリを変更するには、mv コマンドを使用します。たとえば、abc という名前のファイルの名前を 1234 に変更する場合:

mv abc 1234
ログイン後にコピー

注、現在のディレクトリに 1234 のファイルがある場合、このファイルは上書きします。

mv コマンドを使用して複数のファイルの名前を変更するにはどうすればよいですか?

mv コマンドは一度に 1 つのファイルの名前を変更できますが、bash for または while ループでの find などの他のコマンドと併用して、複数のファイルの名前を変更できます。

例: bash for ループを使用して、現在のディレクトリ内のすべての .html ファイルの名前を変更し、.html 拡張子を .php に変更する方法。

for f in *.html; do 
    mv -- "$f" "${f%.html}.php"
done
ログイン後にコピー

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

● 最初の行は for ループを作成し、すべての files.html のリストを走査します。

● 2 行目はリスト内の各項目に適用され、ファイルを新しいファイルに移動して .html を .php に置き換えます。セクション ${file%.html} では、シェル パラメーター拡張子 .html を使用して、ファイル名からその部分を削除します。

##●done はループセグメントの終了を示します。

コマンド find を mv と組み合わせて使用​​して、上記と同じ機能を実現することもできます。

find . -depth -name "*.html" -exec sh -c 'f="{}"; mv -- "$f" "${f%.html}.php"' \;
ログイン後にコピー

find コマンドはこのスイッチを使用して、現在のディレクトリ mv で終わるすべての .html ファイルをコマンド -exec に 1 つずつ渡します。文字列 {} は、現在処理されているファイルの名前です。

上記の例からわかるように、mv コマンドを使用して複数のファイルの名前を変更するのは、Bash スクリプトについての十分な理解が必要なため、簡単な作業ではありません。

2. rename コマンドを使用する

rename コマンドは、文字列置換を使用してファイル名を一括変更します。

  • 単一ファイルの名前変更

  • # 将main1.c重命名为main.c
    rename main1.c main.c main1.c
    ログイン後にコピー
  • 名前の変更ではワイルドカードがサポートされます

  • ?  可替代单个字符
    *  可替代多个字符
    [charset]  可替代charset集中的任意单个字符
    ログイン後にコピー
これらのファイルがあります foo1、…、foo9、foo10、…、foo278

rename foo foo0 foo? を使用すると、foo1 から foo9 までのファイルの名前が foo01 から foo09 に変更されます。 、名前変更されたファイルは 4 文字の長さの名前を持つ単なるファイルであり、ファイル名の foo は foo0 に置き換えられます。

rename foo foo0 foo?? を使用すると、foo01 から foo99 までのすべてのファイルの名前が foo001 から foo099 に変更され、名前の長さが 5 文字のファイルのみが名前変更されます。 foo0 に置き換えられます。

rename foo foo0 foo* を使用すると、foo001 から foo278 までのすべてのファイルの名前が foo0001 から foo0278 に変更され、foo で始まるすべてのファイルの名前が変更されます。

rename foo0 foo foo0[2]* を使用すると、foo0200 から foo0278 までのすべてのファイルの名前が foo200 から foo278 に変更され、ファイル名の foo0 が foo に置き換えられます。

  • rename は正規表現をサポートします

  • # 把文件名中的AA替换成aa
    rename "s/AA/aa/" * 
    
    # 把.html 后缀的改成 .php后缀
    rename "s//.html//.php/" * 
    
    # 把所有的文件名都以txt结尾
    rename "s/$//.txt/" *
    
    # 把所有以.txt结尾的文件名的.txt删掉
    rename "s//.txt//" *
    ログイン後にコピー
デフォルトでは、rename コマンドは既存のファイルを上書きしませんが、-f パラメータを渡すと上書きが許可されます。既存のファイルの。

rename -f 's/.html/.php/' *.html
ログイン後にコピー

名前変更コマンドの一般的な使用例

ファイル名のスペースをアンダースコアに置き換えます

rename 'y/ /_/' *
ログイン後にコピー

ファイル名の変換 Convertファイル名を大文字から小文字に変更します。

rename 'y/A-Z/a-z/' *
ログイン後にコピー
関連する推奨事項: 「

Linux ビデオ チュートリアル

以上がLinuxでファイル名を変更するコマンドは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート