GNU/Linux >> Belajar Linux >  >> Linux

Kode pengembalian grep Linux

Menurut man grep halaman, -c bendera adalah untuk

-c, --countMenekan keluaran normal; alih-alih cetak hitungan baris yang cocok untuk setiap file input.

Jadi yang Anda lihat adalah hitungan kecocokan dan jangan bingung dengan kode keluar dari grep cocok. Kode 1 adalah karena tidak ada baris yang cocok dari input.

Lihat kasus lainnya,

echo 'No' | grep -c No
1

echo $?
0

Juga untuk membaca EXIT CODES pada man grep halaman,

STATUS KELUARBiasanya status keluar adalah 0 jika satu baris dipilih, 1 jika tidak ada baris yang dipilih, dan 2 jika terjadi kesalahan.


Kode keluarnya adalah 1 karena tidak ada yang cocok dengan grep.

STATUS KELUARStatus keluar adalah 0 jika baris yang dipilih ditemukan, dan 1 jika tidak ditemukan. Jika terjadi kesalahan, status keluar adalah 2. (Catatan:kode penanganan kesalahan POSIX harus memeriksa '2' atau lebih besar.)

Outputnya nol karena hitungan 'Total' adalah nol. Ini karena opsi -c:

-c, --countMenekan output normal; alih-alih cetak hitungan garis yang cocok untuk setiap file input. Dengan opsi -v, --invert-match (lihat di bawah), hitung baris yang tidak cocok. (-c ditentukan oleh POSIX.)

Jika Anda ingin memaksakan kode keluar 0, Anda cukup menambahkan || true ke perintah Anda:

echo 'Total' | grep -c No || true

Linux
  1. Cara menggunakan perintah grep Linux

  2. Kode Keluar Default Saat Proses Dihentikan?

  3. Bisakah Grep Mengembalikan Benar/Salah Atau Apakah Ada Metode Alternatif?

  1. Perintah grep Linux

  2. Bagaimana cara membuat kode modul kernel Linux?

  3. Mengapa keluar kode 141 dengan grep -q?

  1. 14 Contoh Perintah Grep di Linux

  2. Gunakan perintah grep Linux

  3. Apa itu Kode Keluar Bash di Linux