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

Bagaimana untuk menggantikan kandungan fail secara berkumpulan dalam Linux

WBOY
Lepaskan: 2022-03-23 09:24:04
asal
20400 orang telah melayarinya

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'
Salin selepas log masuk

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'
Salin selepas log masuk

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'
Salin selepas log masuk

Kaedah 2

Gunakan arahan sed seperti berikut:

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

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'
Salin selepas log masuk

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`
Salin selepas log masuk

Contoh kod:

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

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan