我試圖從linux的fdisk -l
輸出中獲取磁盤信息。在unix中用分號表示的grep
fdisk -l | grep -E 'Disk /dev/sd.\:'
我得到以下輸出。
Disk /dev/sde doesn't contain a valid partition table
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
但我希望得到的是
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
我試圖做到這一點
fdisk -l | grep -E 'Disk /dev/sd.\:' | grep -v "contain"
,但我不知道爲什麼的grep沒有忽略包含「包含」行。
我認爲這是更好(風險較小)重定向'stderr'到'stdout'和處理該組合輸出,而不是在案件'的/ dev/null'其他一些意外的錯誤情況發生。前者你會看到錯誤(取決於你如何grep),但是一旦所有的'stderr'進入'/ dev/null',你都不會知道是否發生了其他意外錯誤。 – Levon