Aduh

Cara Melangkau Baris Pertama Fail Menggunakan 'awk'

Cara Melangkau Baris Pertama Fail Menggunakan 'awk'

Terdapat pelbagai kegunaan perintah 'awk' di Linux. Sebagai contoh, ia boleh digunakan untuk mencetak kandungan fail teks. Baris pertama dari banyak fail teks mengandungi tajuk fail, dan kadang-kadang, baris pertama mesti dilangkau semasa mencetak kandungan fail. Dalam tutorial ini, kami akan menunjukkan kepada anda bagaimana menyelesaikan tugas ini dengan menggunakan perintah 'awk'.

Buat fail teks

Untuk mengikuti tutorial ini, buat fail teks yang dibatasi tab bernama senarai buku.txt dengan kandungan berikut. Fail ini mengandungi senarai buku dengan pengarangnya yang sesuai. Dalam tutorial ini, kami akan menunjukkan kepada anda cara mencetak pelbagai bahagian fail ini setelah melewati baris pertama.

Keselamatan siber dengan bash Paul Troncone, Carl Albing
Komando Kung Fu Jason Cannon
Talian Perintah Linux Travis Booth
Bash dalam langkah mudah Mike McGrath
Unix dalam langkah mudah Mike McGrath

Contoh 1: Langkau baris pertama fail menggunakan NR dan operator '>'

Pemboleh ubah NR menunjukkan bilangan rekod dalam fail. Perintah 'awk' berikut menggunakan pemboleh ubah NR untuk melangkau baris pertama fail. Nilai NR adalah 1 untuk baris pertama. Perintah berikut akan mencetak baris yang nilai NRnya lebih besar daripada 1.

senarai buku $ cat.txt
senarai buku $ awk '(NR> 1)'.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas. Keluarannya merangkumi semua baris selain baris pertama fail.

Contoh 2: Langkau baris pertama dengan menggunakan NR dan '!= 'pengendali

Perintah 'awk' berikut serupa dengan yang ada pada contoh sebelumnya. Walau bagaimanapun '!= 'operator perbandingan digunakan di sini dan bukannya'> '.

senarai buku $ cat.txt
$ awk 'NR!= 1 'senarai buku.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas. Keluaran menunjukkan semua baris selain baris pertama fail.

Contoh 3: Langkau baris pertama fail dengan menggunakan pernyataan bersyarat

Perintah 'awk' berikut akan mencetak baris fail sekiranya pernyataan if benar. Di sini, pernyataan if akan benar hanya apabila nilai NR tidak sama dengan 1.

senarai buku $ cat.txt
$ awk 'if (NR!= 1) Senarai buku print.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas. Output merangkumi semua baris kecuali baris pertama fail.

Contoh 4: Cetak nama buku dari fail tetapi langkau baris pertama

Dua perintah 'awk' digunakan dalam contoh ini untuk mencetak semua nama buku kecuali yang pertama. Perintah 'awk' akan membaca lajur pertama dari fail berdasarkan pemisah medan (\ t) dan menghantar output ke perintah 'awk' kedua. Perintah 'awk' kedua akan mencetak output yang diinginkan.

senarai buku $ cat.txt
$ awk -F "\ t" 'print $ 1' senarai buku.txt | awk 'NR!= 1 cetak '

Output berikut akan dihasilkan setelah menjalankan perintah di atas. Keluaran menunjukkan semua nama buku kecuali untuk buku pertama.

Contoh 5: Format kandungan fail setelah melangkau baris pertama

Pilihan '-F', pemboleh ubah NR, dan fungsi printf digunakan dalam perintah 'awk' berikut untuk menghasilkan output yang diformat setelah melewati baris pertama. Perintah akan membahagikan kandungan fail menjadi lajur berdasarkan \ t, dan printf akan mencetak lajur pertama dan kedua apabila nilai NR sekurang-kurangnya 2.

senarai buku $ cat.txt
$ awk -F '\ t' 'NR> = 2 printf "% 30s% 20s \ n", senarai buku $ 1, $ 2'.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas. Hasilnya menunjukkan kandungan fail yang diformat, tidak termasuk baris pertama fail.

Contoh 6: Cetak nama buku setelah melangkau baris pertama menggunakan NR dan NF

Perintah 'awk' berikut menggunakan pilihan '-F' dan NR dan NF untuk mencetak nama buku setelah melangkau buku pertama. Pilihan '-F' digunakan untuk memisahkan kandungan pangkalan fail di \ t. NR digunakan untuk melangkau baris pertama, dan NF digunakan untuk mencetak lajur pertama sahaja.

senarai buku $ cat.txt
$ awk -F '\ t' 'NR> 1 && NF = 1' senarai buku.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas. Hasilnya merangkumi semua nama buku dalam fail kecuali buku pertama.

Contoh 7: Cetak nama pengarang yang diformat setelah melangkau baris pertama

Perintah 'awk' berikut menggunakan pilihan '-F' dan pernyataan bersyarat untuk mencetak nama pengarang setelah melangkau baris pertama. Di sini, nilai NR digunakan dalam keadaan if. Di sini, "Nama Pengarang: \ n \ n" akan dicetak sebagai baris pertama dan bukannya kandungan dari baris pertama. Nama pengarang dari fail akan dicetak untuk nilai NR yang lain.

senarai buku $ cat.txt
$ awk -F '\ t' 'if (NR == 1) printf "\ nNama Pengarang: \ n \ n"; lain-lain printf "% s \ n", senarai buku $ 2.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas. Keluaran menunjukkan teks, "Nama Pengarang:" dengan baris baru, dan semua nama pengarang dicetak kecuali yang pertama.

Kesimpulannya

Baris pertama fail boleh dilangkau dengan menggunakan pelbagai perintah Linux. Seperti yang ditunjukkan dalam tutorial ini, ada cara yang berbeza untuk melangkau baris pertama fail dengan menggunakan perintah 'awk'. Perlu diperhatikan, pemboleh ubah NR arahan 'awk' boleh digunakan untuk melangkau baris pertama sebarang fail.

Cara Mengubah Tetapan Tetikus dan Pad Sentuh Menggunakan Xinput di Linux
Sebilangan besar pengedaran Linux dihantar dengan perpustakaan "libinput" secara lalai untuk menangani peristiwa input pada sistem. Ia dapat memproses...
Buat semula butang tetikus anda secara berbeza untuk perisian yang berbeza dengan X-Mouse Button Control
Mungkin anda memerlukan alat yang dapat mengubah kawalan tetikus anda dengan setiap aplikasi yang anda gunakan. Sekiranya ini berlaku, anda boleh menc...
Kajian Tetikus Tanpa Wayar Microsoft Sculpt Touch
Saya baru-baru ini membaca mengenai Sentuhan Microsoft Sculpt tetikus tanpa wayar dan memutuskan untuk membelinya. Setelah menggunakannya sebentar, sa...