Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk menggantikan kandungan fail secara berkumpulan dalam Linux

Bagaimana untuk menggantikan kandungan fail secara berkumpulan dalam Linux

WBOY
WBOYasal
2022-03-11 15:10:3220327semak imbas

Kaedah: 1. Gunakan perintah perl, sintaksnya ialah "cari -nama'nama fail'|xargs perl-pi-e 's|Kandungan asal|Kandungan baharu|g'" 2. Gunakan arahan sed, Sintaks ialah "sed-i "s/kandungan asal/kandungan baharu/g" `grep original content-rl directory`".

Bagaimana untuk menggantikan kandungan fail secara berkumpulan dalam Linux

Persekitaran pengendalian tutorial ini: sistem linux7.3, komputer Dell G3.

Cara untuk menggantikan kandungan fail dalam Linux

Kaedah 1

Gunakan perl, arahannya adalah seperti berikut:

find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g'

Contoh berikut Iaitu menggantikan ”http://repo1.maven.org/maven2“ dalam semua fail pom.xml dalam direktori semasa dan semua subdirektori dengan ”http://localhost :8081/nexus /content/groups/public“.

find -name 'pom.xml' | xargs perl -pi -e 's|http://repo1.maven.org/maven2|http://localhost:8081/nexus/content /groups/public|g'

Bahasa Perl digunakan di sini,

perl -pi -e Tambahkan pilihan -e pada arahan Perl , diikuti dengan baris kod, Kemudian ia akan menjalankan kod seperti skrip Perl biasa.

Menggunakan Perl daripada baris arahan boleh membantu mencapai beberapa transformasi masa nyata yang berkuasa. Mempelajari ungkapan biasa dengan teliti dan menggunakannya dengan betul akan menjimatkan banyak kerja penyuntingan manual.

find -name 'pom.xml' | xargs perl -pi -e 's|http://repo1.maven.org/maven2|http://localhost:8081/nexus/content/groups/public|g'

Kaedah 2

Gunakan arahan sed seperti berikut:

sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录`

Cara mudah untuk membatch menggantikan rentetan dalam berbilang fail di bawah kaedah Linux. Gunakan arahan sed untuk menggantikan rentetan dalam berbilang fail.

Contohnya: Saya ingin menggantikan mahuinan dengan huinanma, laksanakan arahan:

sed -i "s/mahuinan/huinanma/g" 'grep mahuinan -rl /www'

Ini ialah perintah rentetan penggantian kumpulan paling mudah di Linux pada masa ini!

Format khusus adalah seperti berikut:

sed -i "s/oldString/newString/g"  `grep oldString -rl /path`

Contoh kod:

sed -i "s/大小多少/日月水火/g" `grep 大小多少 -rl /usr/aa`
sed -i "s/大小多少/日月水火/g" `grep 大小多少 -rl ./`

Cadangan berkaitan: "Tutorial Video Linux"

Atas ialah kandungan terperinci Bagaimana untuk menggantikan kandungan fail secara berkumpulan 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