27Jun

Panduan Pemula untuk Scripting Shell 3: Perintah Lebih Dasar &Rantai

click fraud protection

Anda telah belajar membuat skrip, menggunakan argumen, dan membangun loop. Sekarang, mari kita lihat beberapa perintah dasar, manipulasi file teks, dan pengalihan input dan output ke file dan perintah lainnya.

Beberapa Perintah Berguna Dasar

Kami telah memberi Anda rincian dasar skrip shell dan contoh berbasis garis besar untuk loop, tapi pastikan untuk memeriksa artikel tersebut jika Anda telah melewatkan panduan skrip shell kami sejauh ini.

Baris perintah sangat bagus karena berbagai alasan, dan pengalihan adalah salah satu yang paling menonjol. Jika Anda harus membuat catatan dan mereproduksi output dari setiap perintah untuk mengambil tindakan lebih lanjut atau menggunakannya untuk hal lain, maka kita semua sudah gila sejak lama. Redirection memungkinkan kita menggunakan output itu dan menyimpannya atau langsung menggunakannya sebagai masukan untuk perintah lain. Kita juga bisa menggunakan file sebagai input untuk perintah lainnya.

Sebelum kita melanjutkan, mari kita bahas beberapa perintah dasar yang bisa digunakan di berbagai tempat.

instagram viewer

echo - Perintah ini hanya mencetak( menampilkan) keseluruhan argumennya pada baris perintah sebagai argumen

keluaran echo dengan spasi

Seperti yang Anda lihat, karakter khusus harus "diloloskan" sehingga diperlakukan normal. Hal ini dilakukan dengan menggunakan backslash( \) di depan karakter. Sebaiknya gunakan tanda petik. Perintah echo juga bekerja dengan variabel.

Seperti yang Anda lihat, tanda kutip tunggal dan ganda berperilaku berbeda. Untuk informasi lebih lanjut, lihat Apa Perbedaan Antara Penawaran Tunggal dan Ganda di Bash Shell?

cat - Perintah ini menampilkan isi file teks sebagai output.

cat file_to_be_read

Misalkan kita membuat file teks ini di nano:

Saat kita menggunakan perintah cat pada file, kita bisa melihat hasilnya.

grep - Ini adalah salah satu perintah yang paling kuat dan berguna yang tersedia bagi Anda di Linux. Ini singkatan dari Global / Regular Expression Print. Ini terlihat melalui sebuah file dan mencetak setiap baris yang sesuai dengan pola tertentu. Karena pola ini didasarkan pada "ekspresi reguler," garis ringkas dapat menghasilkan banyak pola yang harus dicocokkan. Karena tidak, Anda bisa memasukkan barang untuk dicari.

grep pattern file

Saya jamin, grep bisa berbuat lebih banyak, tapi untuk sekarang mari kita tetap pada hal yang lebih mudah.

Mengarahkan Keluaran

Untuk mengarahkan output dari sebuah perintah ke sebuah file, kami menggunakan karakter khusus, simbol yang lebih besar dari simbol( & gt;).

Mari kita ganti daftar kita, bukan? Masukkan perintah berikut:

echo pepperoni & gt;daftar

Anda bisa melihat gema itu tidak menampilkan barisnya lagi, dan saat kita melihat isi daftar "daftar", kita melihat apa yang kita gema di sana.

Perhatikan juga bahwa isi "daftar" sebelumnya telah dihapus. Coba lagi:

Ini bisa berguna saat Anda ingin menggunakan kembali file, namun seringkali kita hanya ingin menambahkan file yang ada. Untuk ini, kita menggunakan dua simbol lebih besar dari yang lebih besar:

echo yellow paprika & gt; & gt;daftar

Mudah! Mari kita gunakan perintah ini untuk membuat daftar yang lebih besar, bukan?

Ke sana kita pergi. Saya pikir Anda bisa melihat mengapa begitu banyak geeks menggunakan command-line untuk membuat daftar tugas dan sejenisnya, tapi akan semakin baik.

Mari kita mengambil output dari sebuah perintah dan memasukkannya ke dalam sebuah file:

ls -al / & gt;~ / rootlist

Membuat daftar file, mengeditnya, dan kemudian menjalankan perintah pada perintah yang Anda inginkan tidak pernah sesederhana itu. Dan, sementara kita melakukan fungsi dasar ini di baris perintah, ini bekerja dengan baik dalam skrip juga.

Piping, atau Chaining

Piping dinamakan demikian karena menggunakan pipa,( |; shared with \ key pada kebanyakan keyboard).Intinya, dibutuhkan output dari satu perintah dan langsung memberi umpan ke yang lain. Anda dapat membuat rantai perintah yang panjang untuk mendapatkan output yang diinginkan secara spesifik dengan cara ini, dan ini sangat sesuai untuk perintah seperti grep.

Ini sangat mirip "& gt;" kecuali bisa dirantai beberapa kali dan pengaruhnya lebih umum karena tidak perlu melalui file teks.

Seperti yang Anda lihat, grep sensitif terhadap huruf besar. Anda bisa menggunakan flag "-i" untuk membuatnya mengabaikan kasus.

Mengarahkan Masukan

Anda juga dapat mengambil masukan dari file untuk perintah dengan menggunakan simbol kurang dari( lt;).Kucing

& lt;daftar

"Itu tidak berbeda dengan menggunakan argumen!" Anda mungkin berkata. Nah, Anda pasti benar dalam kasus ini. Dimana redirection input benar-benar berguna adalah perintah chaining bersama.

Katakanlah kita ingin memfilter kata yang memiliki "pep" di dalamnya dari daftar "daftar" kami saat ini ke dalam file baru yang disebut "revisi".

grep pep & lt;daftar & gt;revisi

Mari kita ulangi perintah ini, dan tambahkan beberapa sortasi.

grep pep & lt;daftar |sort & gt;revisi

Ini akan menggunakan "pep" sebagai istilah pencarian dari "daftar" file masukan, urutkan menurut urutan abjad( semua istilah huruf besar diikuti oleh semua istilah yang lebih rendah), lalu tampilkan ke dalam file "revisi".

Untuk menggambarkan perintah sortir, mari kita lihat contoh berikut:

Seperti yang Anda lihat, menambahkan bendera "-f" ke perintah sortir memungkinkan Anda untuk mengabaikan kasus. Hal ini memudahkan kita untuk membuat alfabet baris pada file teks dan mengabaikan kapitalisasi jika tidak masalah.

Skrip Sederhana

Mari membuat skrip yang memiliki bentuk berikut:

script searchterm listfile

Ini akan mengambil istilah dan menggunakan grep untuk mencari melalui file daftar, mengurutkan hasil, dan kemudian menampilkannya ke file lain.

Berikut direktori yang akan kita uji skrip di:

Dan, kita bisa membuat daftar dari apa yang ada di sini, lalu jalankan skripnya.

Itu dia! Semakin Anda mempelajari aturan ekspresi reguler, semakin akurat Anda bisa menyusun perintah pencarian. Dan, apapun yang benar dalam penawaran bisa diganti untuk argumen pertama Anda!

Sejauh penyortiran, Anda bisa melakukan lebih dari sekadar mengurutkan menurut abjad. Lihatlah man page untuk beberapa perintah berikut:

  • tsort - fungsi penyortiran topologi yang lebih maju
  • - memungkinkan Anda memetakan karakter tertentu ke karakter lain, dan menuliskan di antaranya.
  • uniq - menghapus awsara
  • non-unik( baca: duplikat) - bahasa pemrosesan / teks pemrosesan yang benar-benar canggih yang dapat digunakan untuk memisahkan bidang dalam nama file
  • memotong, menyisipkan / menggabungkan - perintah yang berguna untuk mengisolasi bidang dari file teks dan menambahkandata baru ke dalam kolom
  • terlihat - pencarian seperti grep, tapi menggunakan file kamus( yang bisa ditentukan pengguna) untuk lookup
  • wc - memungkinkan Anda menghitung kata, jumlah baris, jumlah karakter, dan lebih banyak

Kami melihatpada beberapa dasar-dasar yang lebih hari ini yang dapat berguna pada baris perintah seperti pada skrip. Data berbasis teks seringkali menjadi inti dari hal-hal yang kita gunakan setiap hari, sehingga bisa bekerja dengannya, mencarinya, dan memanipulasinya adalah kunci.

Apa sajakah naskah favorit Anda? Apakah ada skrip khusus untuk file berbasis teks? Bagikan apa yang Anda ketahui di komentarnya!