Bagaimana untuk menggantikan rentetan dalam fail dalam linux

青灯夜游
Lepaskan: 2022-03-24 18:12:17
asal
26483 orang telah melayarinya

Di Linux, anda boleh menggunakan arahan sed untuk mencari dan menggantikan rentetan dalam fail Arahan ini menggunakan mod penyuntingan strim dan boleh memadankan dan memproses data dalam fail teks berdasarkan ungkapan biasa ialah: "sed 's/rentetan atau ungkapan biasa untuk mencari/nilai ganti/g' nama fail untuk melaksanakan operasi pada".

Bagaimana untuk menggantikan rentetan dalam fail dalam linux

Persekitaran pengendalian tutorial ini: sistem linux5.9.8, komputer Dell G3.

Apabila anda bekerja dengan fail teks, kemungkinan besar anda perlu mencari dan menggantikan rentetan dalam fail. Di Linux ini boleh dilakukan dengan menggunakan arahan sed, yang digunakan terutamanya untuk menggantikan teks dalam fail.

Apakah arahan sed itu? Ia boleh melakukan pelbagai fungsi seperti mencari, mencari, mengubah suai, memasukkan atau memadam fail. Arahan sed menggunakan mod penyuntingan strim dan boleh melakukan padanan ungkapan biasa yang kompleks.

Arahan sed sepadan dan memproses data dalam fail teks berdasarkan ungkapan biasa.

Ia boleh digunakan untuk tujuan berikut:

Cari dan gantikan kandungan yang sepadan dengan format yang diberikan.

  • Cari dan gantikan kandungan yang sepadan dengan format yang diberikan dalam baris yang ditentukan.

  • Cari dan gantikan semua baris yang sepadan dengan format yang diberikan.

  • Cari dan gantikan dua corak berbeza pada masa yang sama.

  • Arahan sed menggantikan rentetan dalam fail

Sintaks sed biasa untuk menggantikan rentetan.

Mula-mula kita perlu memahami sintaks sed untuk melakukan ini. Lihat butiran.

sed -i 's/Search_String/Replacement_String/g' Input_File
Salin selepas log masuk

sed: Ini ialah arahan Linux.

  • -i: Ini adalah pilihan bagi arahan sed. Secara lalai, sed mencetak hasil ke output standard. Apabila anda menambah pilihan ini menggunakan sed maka ia akan mengubah suai fail di tempatnya. Apabila anda menambah akhiran (contohnya, -i.bak), sandaran fail asal dibuat.

  • s: Huruf s ialah perintah penggantian.

  • Search_String: Cari rentetan atau ungkapan biasa yang diberikan.

  • Replacement_String: Rentetan penggantian.

  • g: bendera gantian global. Secara lalai, arahan sed menggantikan kejadian pertama corak pada setiap baris; ia tidak menggantikan padanan lain dalam baris. Walau bagaimanapun, apabila bendera gantian disediakan, semua perlawanan akan diganti.

  • /: pembatas.

  • Input_File: Nama fail untuk menjalankan operasi.

  • Mari kita lihat beberapa contoh biasa menggunakan arahan sed untuk mencari dan menukar teks dalam fail.

  • Kami telah mencipta fail berikut untuk tujuan demonstrasi.

1) Cara mencari dan menggantikan padanan corak "pertama" dalam setiap baris

# cat sed-test.txt
1 Unix unix unix 23
2 linux Linux 34
3 linuxunix UnixLinux
linux /bin/bash CentOS Linux OS
Linux is free and opensource operating system
Salin selepas log masuk

Arahan sed di bawah menggantikan unix dalam fail dengan linux. Ini hanya mengubah contoh pertama corak setiap baris.

2) Bagaimana untuk mencari dan menggantikan kejadian "Nth" bagi corak dalam setiap baris

# sed 's/unix/linux/' sed-test.txt
1 Unix linux unix 23
2 linux Linux 34
3 linuxlinux UnixLinux
linux /bin/bash CentOS Linux OS
Linux is free and opensource operating system
Salin selepas log masuk

Gunakan /1, /2.../ dalam garisan n dan bendera lain untuk menggantikan perlawanan yang sepadan. Arahan sed berikut menggantikan contoh kedua mod unix dengan linux pada baris.

3) Bagaimana untuk mencari dan menggantikan semua contoh corak dalam setiap baris

# sed 's/unix/linux/2' sed-test.txt
1 Unix unix linux 23
2 linux Linux 34
3 linuxunix UnixLinux
linux /bin/bash CentOS Linux OS
Linux is free and opensource operating system
Salin selepas log masuk

Arahan sed berikut menggantikan semua contoh format unix dengan linux kerana g ialah Bendera pengganti global.

4) Bagaimana untuk mencari dan menggantikan semua contoh corak yang sepadan bermula dari "Nth" dalam baris

# sed 's/unix/linux/g' sed-test.txt
1 Unix linux linux 23
2 linux Linux 34
3 linuxlinux UnixLinux
linux /bin/bash CentOS Linux OS
Linux is free and opensource operating system
Salin selepas log masuk

Arahan sed berikut menggantikan dalam contoh Padanan baris bermula dari kedudukan "Nth" corak.

Cadangan berkaitan: "

Tutorial Video Linux

"
# sed 's/unix/linux/2g' sed-test.txt
1 Unix unix linux 23
2 linux Linux 34
3 linuxunix UnixLinux
linux /bin/bash CentOS Linux OS
Linux is free and opensource operating system
Salin selepas log masuk

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