GNU/Linux >> Linux の 問題 >  >> Linux

Linux – 3番目のフィールドの数値がXより大きい場合にのみ行を印刷しますか?

この質問にはすでに回答があります :フィールドの値が3以下の行を削除します– sedまたはawk?

(1つの回答)
しきい値より大きい列値を持つすべての行を取得します

(2つの回答)
3年前に閉鎖されました。

次のlsblk コマンドはディスク使用量をバイト単位で出力します

 lsblk -bio KNAME,TYPE,SIZE,MODEL| grep disk 

 sda   disk  298999349248 AVAGO
 sdb   disk 1998998994944 AVAGO
 sdc   disk 1998998994944 AVAGO
 sdd   disk 1998998994944 AVAGO
 sde   disk   98998994944 AVAGO

パイプの後にawkを追加して、ディスクが300000000000より大きい場合にディスクを印刷する方法 またはperl ワンライナーまたはその他

期待される出力:

 lsblk -bio KNAME,TYPE,SIZE,MODEL| grep disk | ......
 sdb   disk 1998998994944 AVAGO
 sdc   disk 1998998994944 AVAGO
 sdd   disk 1998998994944 AVAGO

承認された回答:

awkでそれを行うことができます grepを使用する代わりに、パターンマッチングのためにそれ自体 。

lsblk -bio KNAME,TYPE,SIZE,MODEL| awk '/disk/ && $3> 300000000000 || NR==1'

または、科学的価値3e11を使用します 。


Linux
  1. Linux – Nanoでナビゲートするときに行番号を常に表示するにはどうすればよいですか?

  2. Linux –ディスク/ディスクのコピーを遅くしますか?

  3. Linux でファイルの行数を数える方法 (wc および nl コマンドの例)

  1. 大文字の単語のみを出力する (Linux)

  2. Linux:各行に特定の文字範囲を出力する

  3. コマンドラインのみ UNIX/Linux OS

  1. Linuxでディスクiノード数を増やす方法

  2. LinuxでX日より古いすべてのファイルを削除するにはどうすればよいですか?

  3. 行が 60 文字を超える場合に改行を挿入する方法