GNU/Linux >> Belajar Linux >  >> Linux

Dapatkan baris pertama dari keluaran perintah shell

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

Linux
  1. Bagaimana Cara Menetapkan Output Perintah Ke Variabel Shell?

  2. Menyimpan Output Perintah Dalam Variabel Shell?

  3. Apa Perbedaan Get Command Output Menggunakan`command`dan $(command) Di Shell??

  1. Bagaimana Argumen Baris Perintah Jarak Jauh Ssh Diurai?

  2. Menghilangkan baris pertama dari keluaran perintah Linux mana pun

  3. Bagaimana cara mempertahankan jeda baris saat menyimpan keluaran perintah ke variabel?

  1. Tambahkan jeda baris ke keluaran perintah

  2. Baris perintah:Ekstrak substring dari output

  3. Mengarahkan output perintah di buruh pelabuhan