Linux
僅當第三個欄位中的數字大於 X 時才列印行
以下
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
如何在磁碟大於 300000000000 時列印磁碟,方法是在管道
awk
或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
。
短awk方法:
lsblk -nbio KNAME,TYPE,SIZE,MODEL | awk '$3>3e11'
-n
(--noheadings
) - 不列印標題$3
- 第三個欄位(SIZE
列)3e11
- E -符號。字母E
(或e
)通常用於表示“十次方的乘以”(可以寫成"× 10n
“),後面是指數的值;換句話說,對於任何兩個實數m
和n
,用法of "mEn
" 表示m × 10n
.的值3e11
等同於300000000000
.