Sed: Belajar Skrip Shell Menggunakan Perintah Terminal Sed

Sed: Belajar Skrip Shell Menggunakan Perintah Terminal Sed

Sed: Belajar Skrip Shell Menggunakan Perintah Terminal Sed

Perintah "sed" dalam Sistem Pengoperasian Percuma jenis GNU / Linux, ia merupakan perintah yang sangat serba boleh, kerana pada gilirannya Ia dianggap sebagai penyunting teks yang berorientasi pada "aliran" dan bukannya "interaktif" seperti yang biasa, kerana ia menerima fail atau input standard sebagai input, kemudian memproses setiap baris dan hasilnya dikirim ke output standar. Maksudnya, SED (Stream EDitor) memungkinkan kita mengubah isi baris fail yang berlainan berdasarkan rangkaian perintah atau fail arahan.

Secara amnya, arahan «sed» digunakan sebagai penapis, kerana membaca setiap baris entri data anda dan kemudian melakukan tindakan yang diminta yang biasanya dibaca, diekstrak, diubah suai dan ditunjukkan atau disimpan. Walaupun kekuatannya sedemikian rupa ini juga membolehkan kita dengan cara yang selesa, hapus baris, rekod atau ganti rentetan watak dalam baris fail.

Pengenalan kepada perintah "sed"

Dalam penerbitan lain sebelumnya di DesdeLinux, kami telah membincangkan dan menunjukkan contoh penggunaan arahan ini, seperti: Cara menghapus baris tertentu dari fail ... y Dengan Terminal: Menggunakan Ungkapan Biasa II: Penggantian, jadi kali ini kita akan melihat secara langsung sedikit lebih maju dan sama seperti contoh praktikal menggunakannya.

Pada dasarnya arahan «sed» mempunyai sintaks berikut:

sed comandos_sed archivo

di mana "Perintah_sed" sesuai dengan satu atau lebih spesifikasi mengenai apa yang harus dilakukan dengan baris yang dibaca "arkib".

Penggunaan yang lebih meluas menjadikan kita dengan sintaks berikut:

sed [-ns] '[direccion] instruccion argumentos'

Donde:

Format Penggunaan Perintah SED

Contoh praktikal

Senaraikan Fail / Folder di jalan

Baris arahan berguna yang dapat digunakan untuk menyenaraikan isi jalur X yang ditunjukkan dan kemudian mengesan / mengira / menapis item yang dicari dan menunjukkan tindakan selanjutnya yang akan dilakukan.

ls -l | awk '{ print $NF }' | sed 1d

Contoh:

Contoh1: Perintah SED - Skrip Shell

Varian lain yang menggunakan perintah "sed" sangat berguna:

find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed 's/^\.\///g' | xargs -n 1 basename

Contoh 4: Perintah SED untuk Shell Scripting

Buat urutan nombor

Paparkan di skrin atau simpan dalam fail urutan numerik (atau input lain) yang dibuat tetapi dengan cara mendatar (linier) dan bukan menegak yang kemudian dapat dibaca untuk proses lain.

seq 100|tr '\n' ' '|sed 's, $,\n,g'

Contoh 2: Perintah SED untuk Shell Scripting

Contoh yang sama dapat dilakukan dengan menggabungkan perintah «dahaga " dengan "Printf" seperti yang ditunjukkan di bawah:

printf '%s ' {1..100}|sed 's/ $/\n/'

Contoh 3: Perintah SED untuk Shell Scripting

Padamkan fail dengan pengecualian

Menyaring jalan sistem fail mencari corak fail untuk dikecualikan dan kemudian menghapus isi kandungan yang lain. Sangat berguna untuk pembersihan yang tepat dan teliti.

find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed -e '/.*\.txt$/d' -e '/.*\.exe$/d' | xargs rm

Contoh 5: Perintah SED untuk Shell_Scripting

Buat alamat MAC maya

Langkah ini dapat berguna untuk tugas keselamatan atau perlindungan komputer ketika melayari laman web berbahaya atau menjalankan tugas penggodaman.

MAC=`(date; cat /proc/interrupts) | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'` ; echo $MAC

Kesan yang sama dapat dicapai dengan menggunakan perintah "sed" bersama dengan perintah lain, seperti yang ditunjukkan di bawah:

openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'
od -An -N10 -x /dev/random | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'
od /dev/urandom -w6 -tx1 -An|sed -e 's/ //' -e 's/ /:/g'|head -n 1

Contoh:

Contoh 7: Perintah SED untuk Shell Scripting

Tukar Prompt Terminal buat sementara waktu

Ini dapat membantu kita memasukkan parameter untuk sementara waktu yang boleh berguna bagi kita semasa kita melakukan aktiviti khas. Dalam contoh ini, kita hanya akan mengubah cara permintaan ditunjukkan.

export PS1="C:\$( pwd | sed 's:/:\\\\\\:g' )\\> "

Contoh 8. Perintah SED untuk Shell Scripting

Urus output Perintah "ps"

Perintah perintah yang sangat praktikal untuk membolehkan pemformatan output perintah «ps», iaitu apa yang diperolehi dari Terminal Process Manager.

sudo ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed "/^ 0.0 /d"

Contoh:

Contoh 9: Perintah SED untuk Shell Scripting

Ini dapat digunakan untuk proses sesuai dengan peratusan memori yang digunakan:

sudo ps -e -o pmem,nice,state,cputime,args --sort pmem | sed "/^ 0.0 /d"

Saya harap contoh arahan ini menggunakan perintah "sed" akan sangat berguna. Dan ia berfungsi untuk digunakan secara langsung dari konsol atau secara tidak langsung dengan memasukkannya ke dalam skrip (tugas automatik).

Pada posting seterusnya pada Shell Scripting kita akan meneroka perintah lain.

Sekiranya anda ingin mengetahui lebih lanjut mengenai arahan "sed" lawati pautan ini "Tutorial dan Panduan Ringkas untuk Unix dan Linux"Atau"Penggunaan asas»Dan jika anda ingin mengetahui lebih lanjut mengenai Shell Scripting di Blog kami sendiri, anda boleh melihat penerbitan kami yang lain mengenai perkara ini, dengan mengklik di sini: Skrip dalam FromLinux.


Kandungan artikel mematuhi prinsip kami etika editorial. Untuk melaporkan ralat, klik di sini.

Menjadi yang pertama untuk komen

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan.

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

bool(benar)