2016-08-03 4 views
0

こんにちは、次のコマンドを持っています。例えば 、元の出力がある場合:カウントライン

/dev/sda 
/dev/sdb 
/dev/sdc 

最終的な出力は3あろう。

+3

'lsscsi | grep HITACHI | awk '{プリント$ 6}' | wc -l' –

+0

ありがとうございました。とても簡単です:) – Omri

+1

@JuanTomas 'grep foo | awk '{print $ 1}' 'と書いてあります。 'awk '/ foo/{print $ 1}''でなければなりません。 'awk'を使うと、不要なオーバーヘッドを意味する' grep'は必須ではありません。 – hek2mgl

答えて

3

基本的にコマンドwc -lを使用して、ファイルまたはパイプ内の行数をカウントできます。あなたが行数をカウントするため、フィルタが適用された後しかし、私は、そのためのgrepを使用することをお勧めします:

lsscsi | grep -c 'HITACHI' 

-cはちょうどマッチした行の数を出力します。


別のこと。あなたの例では、grep .. | awkを使用しています。それはgrepの役に立たない使用です。それはする必要があります

lsscsi | awk '/HITACHI/{print $6}' 
関連する問題