我试图从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