Antara muka baris arahan Linux menyediakan banyak alat pemprosesan teks, salah satu alat yang paling berkuasa ialah perintah sed
. sed
adalah singkatan Editor Stream, alat pelbagai fungsi yang membolehkan pemprosesan kompleks fail dan aliran teks.
sed
adalah editor teks bukan interaktif yang mengendalikan input paip atau fail teks. Dengan menyediakan arahan, anda boleh membiarkannya mengubah dan memproses teks dalam fail atau aliran. Kes penggunaan yang paling biasa sed
termasuk memilih teks, menggantikan teks, mengubah fail asal, menambah garis ke teks, atau mengeluarkan garis dari teks. Ia boleh digunakan dari baris arahan di bash dan kerang baris arahan yang lain.
Sintaks perintah sed
mengandungi tiga bahagian utama:
sed
. Jika tiada nama fail, skrip akan beroperasi pada data input standard. Anda juga boleh menjalankan perintah sed
tanpa menggunakan sebarang pilihan. Sintaks asas adalah seperti berikut:
sed 选项[脚本] [输入文件名]
sed
bukan satu -satunya alat pemprosesan teks dalam ekosistem Linux. Satu lagi utiliti yang kuat adalah awk
. Walaupun kedua -duanya berurusan dengan teks, mereka mempunyai beberapa perbezaan utama:
sed
adalah baik untuk parsing dan menukar teks dalam bahasa yang mudah dan mudah, menjadikannya mudah, terhad tetapi mudah digunakan.awk
, sebaliknya, adalah alat untuk memproses teks dan menulis program kuat yang muncul dalam bentuk pernyataan. Ia lebih kompleks, serba boleh dan lebih berkuasa daripada sed
, tetapi juga lebih kompleks. Mari menggali bagaimana sed
berfungsi dengan beberapa contoh praktikal. Untuk semua contoh ini, katakan kami mempunyai fail bernama ik.txt
. Perhatikan bahawa sed
tidak mengubah fail asal secara lalai. Semua perubahan akan dipaparkan dalam output, tetapi fail asal akan tetap sama.
Salah satu operasi yang paling biasa dalam penggantian teks sed
ialah penggantian teks. Ini dilakukan dengan menggunakan perintah s
Sebagai contoh, untuk menggantikan contoh pertama skema abc
dengan def
lain, gunakan:
sed s/abc/def/ ik.txt
Di sini, contoh pertama abc
dalam setiap baris akan digantikan oleh def
. Jika anda ingin mengganti contoh ketiga corak, anda boleh menggunakan:
sed s/abc/z/3 ik.txt
Penggantian global dalam penggantian global, semua contoh corak diganti. Ini dilakukan dengan menambahkan g
ke perintah penggantian. Untuk menggantikan semua contoh abc
dengan XYZ
, gunakan:
sed s/abc/XYZ/g ik.txt
Anda juga boleh memulakan penggantian global dengan contoh nth corak dengan menggunakan /ng
. Sebagai contoh, untuk menggantikan semua contoh abc
dengan XYZ
bermula dari contoh ketiga, gunakan:
sed s/abc/XYZ/3g ik.txt
Singkatnya, perintah sed
di Linux adalah editor aliran yang kuat yang boleh melakukan pelbagai operasi pada fail teks dan aliran. Ia tidak menyediakan antara muka interaktif, tetapi mengendalikan input saluran atau fail teks berdasarkan arahan yang kami sediakan. Sintaks arahan ini agak mudah dan terdiri daripada tiga bahagian: pilihan, skrip yang mengandungi arahan Linux untuk dijalankan, dan nama fail.
Atas ialah kandungan terperinci Menguasai manipulasi teks dengan arahan sed. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!