Apa arti perintah `ps` ini?

1
 ps -e | grep -c '^'

Apapun artinya aku punya 166

Saya tersesat dengan '^' dan tidak ingat di mana saya melihatnya

Zanna
sumber

Jawaban:

5

Opsi -c( --count) untuk grepmencetak jumlah kecocokan.

Ini ^adalah metacharacter ekspresi reguler yang mewakili awal garis (dan tidak cocok dengan karakter sebenarnya).

Perintah Anda menunjukkan jumlah semua proses, seperti yang terlihat oleh ps.

Perhatikan bahwa menjalankan perintah yang sama, menghapus -copsi dari grep, akan menampilkan output aktual yang menjadi dasar perhitungan Anda.

SYN
sumber
Terima kasih, itulah yang saya pikirkan tetapi saya mempertanyakan diri saya dan meskipun tidak mungkin ...
3

Tanda sisipan ^adalah jangkar garis ekspresi reguler - ia membatasi kecocokan hanya terjadi pada awal garis.

Pada contoh yang Anda berikan, ada pola kosong setelah jangkar, sehingga cocok dengan garis yang dimulai dengan apa pun - membuatnya setara dengan hanya menggunakan grep -c ''

Either way mengembalikan jumlah baris - setara dengan melakukan ps -e | wc -l

Steeldriver
sumber
Grep -c tidak menampilkan hasil apa pun untuk saya, dan ps | wc -l output 4 dibandingkan dengan ps -e | grep -c '^' menghasilkan 166
@homomoto maaf saya tidak bermaksud mengatakan itu psdan ps -eakan memberikan hasil yang sama - jelas mereka tidak akan melakukannya. Maksud saya, itu ps <whatever options> | grep -c ''akan setara denganps <same options> | wc -l
steeldriver