Bagaimana cara menemukan baris ke-n dalam file di baris perintah Linux? Bagaimana cara menampilkan nomor baris x ke nomor baris y?
Di Linux, ada beberapa cara untuk mencapai hasil yang sama. Mencetak baris tertentu dari file tidak terkecuali.
Untuk menampilkan baris ke-13, Anda dapat menggunakan kombinasi kepala dan ekor:
head -13 file_name | tail +13
Atau, Anda dapat menggunakan perintah sed:
sed -n '13p' file.txt
Untuk menampilkan nomor baris dari 20 hingga 25, Anda dapat menggabungkan perintah kepala dan ekor seperti ini:
head -25 file_name | tail +20
Atau, Anda dapat menggunakan perintah sed seperti ini:
sed -n '20,25p' lines.txt
Penjelasan rinci dari setiap perintah berikut berikutnya. Saya juga akan menunjukkan penggunaan perintah awk untuk tujuan ini.
Menampilkan baris tertentu menggunakan perintah kepala dan ekor
Ini adalah cara favorit saya untuk menampilkan garis pilihan. Saya merasa lebih mudah untuk diingat dan digunakan.
Mencetak satu baris tertentu
Gunakan kombinasi perintah head dan tail pada fungsi berikut nomor baris x:
head -x file_name | tail +x
Anda dapat mengganti x dengan nomor baris yang ingin Anda tampilkan. Jadi, katakanlah Anda ingin menampilkan baris ke-13 dari file tersebut.
[email protected]:~$ head -13 lines.txt | tail +13
This is line number 13
Penjelasan :Anda mungkin sudah tahu bahwa perintah head mendapatkan baris file dari awal sedangkan perintah tail mendapatkan baris dari akhir.
Bagian "head -x" dari perintah akan mendapatkan baris x pertama dari file. Kemudian akan mengarahkan output ini ke perintah tail. Perintah tail akan menampilkan semua baris mulai dari nomor baris x.
Jelas sekali, jika Anda mengambil 13 baris dari atas, baris mulai dari nomor 13 hingga akhir akan menjadi baris ke-13. Itulah logika di balik perintah ini.
Mencetak rentang garis tertentu
Sekarang mari kita gunakan kombinasi perintah head dan tail untuk menampilkan lebih dari satu baris.
Katakanlah Anda ingin menampilkan semua baris dari x ke y. Ini termasuk baris ke-x dan ke-y juga:
head -y lines.txt | tail +x
Mari kita ambil contoh praktis. Misalkan Anda ingin mencetak semua baris dari nomor baris 20 hingga 25:
[email protected]:~$ head -25 lines.txt | tail +20
This is line number 20
This is line number 21
This is line number 22
This is line number 23
This is line number 24
This is line number 25
Gunakan SED untuk menampilkan baris tertentu
Perintah sed yang kuat menyediakan beberapa cara untuk mencetak baris tertentu.
Misalnya, untuk menampilkan baris ke-10, Anda dapat menggunakan sed dengan cara berikut:
sed -n '10p' file.txt
The -n menekan output saat perintah p mencetak baris tertentu. Baca panduan SED mendetail ini untuk mempelajari dan memahaminya secara mendetail.
Untuk menampilkan semua baris dari nomor baris x ke nomor baris y, gunakan ini:
[email protected]:~$ sed -n '3,7p' lines.txt
This is line number 3
This is line number 4
This is line number 5
This is line number 6
This is line number 7
Gunakan AWK untuk mencetak baris tertentu dari file
Perintah awk bisa tampak rumit dan pasti ada kurva pembelajaran yang terlibat. Tapi seperti sed, awk juga cukup kuat untuk mengedit dan memanipulasi konten file.
[email protected]:~$ awk 'NR==5' lines.txt
This is line number 5
NR menunjukkan 'nomor rekor saat ini'. Silakan baca panduan perintah AWK kami untuk informasi lebih lanjut.
Untuk menampilkan semua baris dari x ke y, Anda dapat menggunakan perintah awk dengan cara berikut:
[email protected]:~$ awk 'NR>=20 && NR<=25' lines.txt
This is line number 20
This is line number 21
This is line number 22
This is line number 23
This is line number 24
This is line number 25
Ini mengikuti sintaks yang mirip dengan kebanyakan bahasa pemrograman.
Saya harap artikel singkat ini membantu Anda dalam menampilkan baris file tertentu di baris perintah Linux. Jika Anda mengetahui beberapa trik lain untuk tujuan ini, bagikan dengan kami semua di bagian komentar.