18G以上のすべてのディスクを印刷したいです。
ディスクのみを印刷するには、次の構文をどのように適用できますか? => 18G
lsblk -l | awk '/disk/'
fd0 2:0 1 4K 0 disk
sda 8:0 0 150G 0 disk
sdb 8:16 0 20G 0 disk
sdc 8:32 0 20G 0 disk
sdd 8:48 0 20G 0 disk
sde 8:64 0 20G 0 disk
sdf 8:80 0 20G 0 disk
sdg 8:96 0 20G 0 disk
sdh 8:112 0 20G 0 disk
sdi 8:128 0 20G 0 disk
sdj 8:144 0 2G 0 disk
sdk 8:160 0 2G 0 disk
ベストアンサー1
lsblk
+awk
+numfmt
解決策:
lsblk -lnb | awk '$4>=19327352832' | numfmt --to=iec --field=4
lsblk
オプション:
-n
- ヘッダー行を印刷しない-b
- 人間が読める形式ではなく、SIZE列をバイト単位で印刷します。
awk
詳細:
$4
- 4番目のフィールド値(SIZE
列)19327352832
-18G
バイト単位と同じ
numfmt
オプション:
--to=iec
- 出力数量の自動スケーリングは、オプションの単一UNITs
文字のサフィックスを可能にします。1K = 1024, 1M = 1048576, ...
--field=<FIELDS>
- この入力フィールドの数値の変更/変換FIELDS