Ya, itu adalah salah satu cara untuk mendapatkan baris keluaran pertama dari sebuah perintah.
Jika perintah mengeluarkan apa pun ke kesalahan standar yang ingin Anda tangkap dengan cara yang sama, Anda perlu mengalihkan kesalahan standar dari perintah ke aliran keluaran standar:
utility 2>&1 | head -n 1
Ada banyak cara lain untuk mengambil baris pertama juga, termasuk sed 1q
(keluar setelah baris pertama), sed -n 1p
(hanya cetak baris pertama, tetapi baca semuanya), awk 'FNR == 1'
(hanya cetak baris pertama, tapi sekali lagi, baca semuanya) dll.
Saya akan menggunakan:
awk 'FNR <= 1' file_*.txt
Seperti yang ditunjukkan @Kusalananda, ada banyak cara untuk menangkap baris pertama di baris perintah tetapi menggunakan head -n 1
mungkin bukan pilihan terbaik saat menggunakan wildcard karena akan mencetak info tambahan. Mengubah 'FNR == i'
ke 'FNR <= i'
memungkinkan untuk mendapatkan i baris pertama.
Misalnya, jika Anda memiliki n file bernama file_1.txt, ... file_n.txt:
awk 'FNR <= 1' file_*.txt
hello
...
bye
Tapi dengan head
wildcard mencetak nama file:
head -1 file_*.txt
==> file_1.csv <==
hello
...
==> file_n.csv <==
bye