Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Apakah arahan untuk mengubah suai nama fail dalam Linux?

Apakah arahan untuk mengubah suai nama fail dalam Linux?

青灯夜游
青灯夜游asal
2023-02-23 12:05:0650300semak imbas

Terdapat dua arahan untuk mengubah suai nama fail dalam Linux: 1. perintah mv, yang bukan sahaja boleh menamakan semula fail, tetapi juga memindahkan fail atau folder Ubah suai sintaks "mv [parameter] nama fail lama, fail baharu name"; 2. Arahan nama semula boleh digunakan untuk menukar nama fail dalam kelompok dengan penggantian rentetan. Sintaksnya ialah "menamakan semula [parameter] nama fail lama, nama fail baharu".

Apakah arahan untuk mengubah suai nama fail dalam Linux?

Persekitaran pengendalian tutorial ini: sistem CentOS 6, komputer Dell G3.

Untuk menamakan semula fail atau direktori di bawah Linux, anda boleh menggunakan arahan mv atau arahan nama semula Di sini kami berkongsi cara menggunakan kedua-duanya.

1 Gunakan perintah mv

Arahan mv boleh menamakan semula dan mengalihkan fail atau folder.

mv [参数] 旧文件/目录 新文件名/目录

Contoh: Namakan semula direktori A kepada B

mv A B

Contoh: Alihkan direktori /a ke /b dan namakan semula kepada c

mv /a /b/c

Malah , untuk menamakan semula fail atau direktori dalam mod teks, anda hanya perlu menggunakan arahan mv Contohnya, jika anda ingin menamakan semula fail bernama abc kepada 1234:

mv abc 1234

Perhatikan, jika ada. fail 1234 dalam direktori semasa, fail ini akan menimpanya.

Bagaimana untuk menggunakan arahan mv untuk menamakan semula berbilang fail?

Arahan mv hanya boleh menamakan semula satu fail pada satu masa, tetapi ia boleh digunakan dengan arahan lain seperti cari dalam bash untuk atau gelung while untuk menamakan semula berbilang fail.

Contoh: Cara menukar sambungan .html kepada .php dengan menggunakan gelung bash untuk menamakan semula semua fail .html dalam direktori semasa.

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

Mari kita analisa baris kod demi baris:

●Barisan pertama mencipta gelung for dan berulang melalui senarai semua fail.html.

● Baris kedua digunakan pada setiap item dalam senarai dan mengalihkan fail kepada yang baharu menggantikan .html dengan .php. Bahagian ${file%.html} menggunakan pengembangan parameter shell .html untuk mengalih keluar bahagian daripada nama fail.

● selesai menunjukkan penghujung segmen gelung.

Kita juga boleh menggunakan perintah find dalam kombinasi dengan mv untuk mencapai fungsi yang sama seperti di atas.

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

Arahan find menggunakan suis ini untuk menghantar semua fail .html yang berakhir dalam mv direktori semasa kepada arahan -exec satu demi satu. Rentetan {} ialah nama fail yang sedang diproses.

Seperti yang dilihat dalam contoh di atas, menamakan semula berbilang fail menggunakan arahan mv bukanlah tugas yang mudah kerana ia memerlukan pemahaman yang baik tentang skrip Bash.

2. Gunakan arahan nama semula

Arahan nama semula menggunakan penggantian rentetan untuk menukar nama fail secara kelompok.

  • Namakan semula satu fail

# 将main1.c重命名为main.c
rename main1.c main.c main1.c
  • menamakan semula menyokong kad bebas

?  可替代单个字符
*  可替代多个字符
[charset]  可替代charset集中的任意单个字符

Terdapat fail ini foo1, …, foo9, foo10, …, foo278

Jika anda menggunakan rename foo foo0 foo?, fail dari foo1 kepada foo9 akan dinamakan semula kepada foo01 kepada foo09, menamakan semula fail hanyalah fail dengan nama panjang 4 aksara, foo dalam nama fail digantikan dengan foo0.

Jika rename foo foo0 foo?? digunakan, semua fail dari foo01 hingga foo99 dinamakan semula kepada foo001 kepada foo099, hanya fail dengan nama 5 aksara dinamakan semula dan foo dalam nama fail digantikan dengan foo0.

Jika rename foo foo0 foo* digunakan, semua fail dari foo001 hingga foo278 dinamakan semula kepada foo0001 kepada foo0278 dan semua fail bermula dengan foo dinamakan semula.

Jika rename foo0 foo foo0[2]* digunakan, semua fail daripada foo0200 hingga foo0278 dinamakan semula kepada foo200 kepada foo278 dan foo0 dalam nama fail digantikan dengan foo.

  • menamakan semula menyokong ungkapan biasa

# 把文件名中的AA替换成aa
rename "s/AA/aa/" * 

# 把.html 后缀的改成 .php后缀
rename "s//.html//.php/" * 

# 把所有的文件名都以txt结尾
rename "s/$//.txt/" *

# 把所有以.txt结尾的文件名的.txt删掉
rename "s//.txt//" *

Secara lalai, arahan nama semula tidak akan menimpa fail sedia ada tetapi menghantar -f Parameter boleh digunakan untuk membenarkan fail sedia ada ditimpa.

rename -f 's/.html/.php/' *.html

Contoh biasa menggunakan arahan nama semula

Gantikan ruang dalam nama fail dengan garis bawah

rename 'y/ /_/' *

Tukar nama fail kepada huruf kecil

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

Tukar nama fail kepada huruf besar

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

Cadangan berkaitan: "Tutorial Video Linux"

Atas ialah kandungan terperinci Apakah arahan untuk mengubah suai nama fail dalam Linux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn