GNU/Linux >> Belajar Linux >  >> Linux

8 Argumen Baris Perintah Perl yang Luar Biasa Yang Harus Anda Ketahui

Opsi baris perintah di Perl dapat berguna untuk melakukan tugas yang lebih kecil secara efektif.

Pada artikel ini, mari kita tinjau cara menggunakan opsi baris perintah Perl untuk melakukan tugas-tugas berikut:

  • Mengedit konten file
  • Menangani pemisah garis
  • Periksa kesalahan sintaks
  • Muat modul
  • Lakukan pengulangan
  • Jalankan kode perl
  • Setel pemisah baris masukan
  • Membagi baris masukan
  • dst.,

1. Perl -i Option:Edit isi file

Ini membuka file satu per satu dan mengganti konten dengan STDOUT.

Mari kita gunakan file sample.txt berikut untuk mengubah isinya menjadi huruf besar seperti yang ditunjukkan di bawah ini.

$ cat sample.txt
Practical Extraction Report Language

$ perl -pi  -e “tr/[a-z]/[A-Z]/” sample.txt

$ cat sample.txt
PRACTICAL EXTRACTION REPORT LANGUAGE

Anda juga dapat membuat cadangan file asli seperti yang ditunjukkan di bawah ini:

$ perl -pi.bak  -e “tr/[a-z]/[A-Z]/” sample.txt

$ cat sample.txt
PRACTICAL EXTRACTION REPORT LANGUAGE

$ cat sample.txt.bak
Practical Extraction Report Language

Untuk men-debug program Perl, gunakan debugger Perl seperti yang telah kami jelaskan sebelumnya.

2. Perl -l Option:Penanganan pemisah baris

Pemisah baris mengambil nilai oktal sebagai argumen. Berikut adalah beberapa contoh dari beberapa pemisah umum dan nilai oktalnya.

Character    Octal Value
=========    =========
new line(\n) 012
tab(\t)      011
space        040
&            046

Catatan :gunakan perintah “man ascii” untuk mengetahui nilai oktal untuk semua karakter.

Contoh penggunaan pemisah garis:

$ perl -p -l046 -e “tr/[a-z]/[A-Z]/”;
bala

Output :

BALA&

Juga, lihat 6 fungsi evaluasi Perl untuk bacaan tambahan.

3. Opsi Perl -c:Periksa Kesalahan Sintaks

Option -c mengkompilasi program Anda tanpa menjalankannya untuk memastikan tidak ada kesalahan sintaks dalam program Anda.

$ perl -c sample.pl

4. Opsi Perl -M :Untuk Memuat Modul

Dengan opsi Perl -M, kita dapat memuat modul yang diinginkan seperti yang ditunjukkan di bawah ini.

$ perl -MFile::Copy -e ‘move(“sample.txt”,”/tmp”);’

-m opsi juga memuat modul tetapi tidak mengimpor apa pun. Berikut perbedaannya:

  • -MFile::Copy sama dengan “gunakan File::Copy; “
  • -mFile::Copy sama dengan “gunakan File::Copy()“

Kami juga membahas tentang Option -M di 20 Tip Pemrograman Perl Pembunuh kami sebelumnya.

5. Opsi Perl -n dan -p:Pengulangan Implisit

Option -n membungkus kode Anda di dalam loop seperti yang ditunjukkan di bawah ini.

while(<>) {
# perl code
}

Cuplikan berikut menjelaskan hal ini dengan lebih baik.

while(<>) {
$_ =~ tr/[a-z]/[A-Z]/;
}

Dengan menggunakan -n, kita dapat menulis ulang potongan kode di atas seperti yang ditunjukkan di bawah ini.

$ perl -n -e ‘tr/[a-z]/[A-Z]/;print’

Option -p membungkus kode Anda di dalam loop seperti yang ditunjukkan di bawah ini.

while(<>) {
# perl code
print;
}

Cuplikan berikut menjelaskan hal ini dengan lebih baik.

while(<>) {
$_ =~ tr/[a-z]/[A-Z]/;
print;
}

Dengan menggunakan -p, kita dapat menulis ulang potongan kode di atas seperti yang ditunjukkan di bawah ini.

$ perl -p -e “tr/[a-z]/[A-Z]/”;

Jika Anda mengembangkan banyak kode Perl, Anda harus membaca buku praktik terbaik Perl.

6. Opsi Perl -e:Jalankan kode perl di baris perintah itu sendiri

Program Perl sederhana atau pendek dapat ditulis di baris perintah itu sendiri dengan opsi ini seperti yang ditunjukkan di bawah ini.

$ perl -e “print \”Username : $ENV{USER}”

7. Perl -0 Opsi:Pemisah Catatan Masukan

Menggunakan opsi -0, kita dapat mengubah “pemisah catatan input” dari baris baru ke yang lain seperti yang ditunjukkan di bawah ini.

$ perl -p -0046 -e “tr/[a-z]/[A-Z]/”;
bala
raja&

Output :

BALA
RAJA&

Dalam contoh di atas, 046 adalah nilai oktal untuk karakter '&'. Jadi, setelah menerima &karakter, Perl menganggapnya sebagai akhir dari sebuah record dan kemudian melakukan operasi translasi.

8. Perl -a Option:Pisahkan baris input

Ini membagi $_ menjadi @F dengan pembatas sebagai spasi.

Contoh berikut menunjukkan opsi -a.

$ cat emp_salary.txt
bala     10000
rajesh  12300
kumar 14000

$ perl -n -l012  -a -e ‘print “$F[1]“‘  emp_salary.txt
10000
12300
14000

Secara default, dibutuhkan ruang sebagai pembatas dan melakukan operasi split. Pembatas dapat diubah dengan menggunakan opsi -F seperti yang ditunjukkan di bawah ini.

$ cat emp_salary.txt
bala:10000
rajesh:12300
kumar:14000

$ perl -n -l012  -F: -a -e ‘print “$F[1]“‘  emp_salary
10000
12300
14000

Linux
  1. 14 port jaringan umum yang harus Anda ketahui

  2. 10 perintah yang harus diketahui setiap pengguna Linux

  3. 10 perintah dasar Linux yang perlu Anda ketahui

  1. 11 panduan baris perintah Linux yang tidak boleh Anda lewatkan

  2. Lewati Argumen Baris Perintah ke Skrip Bash?

  3. Jalankan skrip Perl/PHP dari baris perintah

  1. Nagios:Cara Mengaktifkan Argumen Baris Perintah check_nrpe

  2. 15 Contoh Ekspansi Sejarah Bash Linux Yang Harus Anda Ketahui

  3. argumen baris perintah untuk menjalankan docker