Linux ではファイル名を変更するためのコマンドが 2 つあります: 1. mv コマンド。ファイル名を変更するだけでなく、ファイルやフォルダーを移動することもできます。構文「mv [パラメーター] 古いファイル名、新しいファイル」を変更します。 name"; 2. renameコマンドを使用すると、文字列置換によってファイル名を一括変更できます。構文は、「rename [パラメータ]古いファイル名,新しいファイル名」です。
#このチュートリアルの動作環境: 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"' \;
2. rename コマンドを使用する
rename コマンドは、文字列置換を使用してファイル名を一括変更します。# 将main1.c重命名为main.c rename main1.c main.c main1.c
? 可替代单个字符 * 可替代多个字符 [charset] 可替代charset集中的任意单个字符
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 に置き換えられます。
# 把文件名中的AA替换成aa rename "s/AA/aa/" * # 把.html 后缀的改成 .php后缀 rename "s//.html//.php/" * # 把所有的文件名都以txt结尾 rename "s/$//.txt/" * # 把所有以.txt结尾的文件名的.txt删掉 rename "s//.txt//" *
rename -f 's/.html/.php/' *.html
名前変更コマンドの一般的な使用例
ファイル名のスペースをアンダースコアに置き換えますrename 'y/ /_/' *
rename 'y/A-Z/a-z/' *
Linux ビデオ チュートリアル
」以上がLinuxでファイル名を変更するコマンドは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。