0

我正在寻找一个脚本来列出 Linux 操作系统中未格式化的分区/磁盘

我找不到列出未格式化磁盘/分区的可靠方法。

我尝试使用lsblk --output NAME,FSTYPE,MOUNTPOINT | grep "sd"which 输出:

sda
└─sda1 xfs    /
sdb
└─sdb1 ext4   /mnt/resource
sdc
sdd

没有列出挂载点的名称是未格式化的磁盘。我怎样才能得到这些名字?或者获得这些的最好方法是什么?

我在 CentOS Linux 版本 7.3.1611 (Core)

4

1 回答 1

3

尝试类似:

lsblk --output NAME,MOUNTPOINT | awk -F \/ '/sd/ { if ($1 != "" ) dsk=$1;if ( $2 == "") print dsk }'

我们将挂载点行上方的分区存储在变量 dsk 中,然后在没有挂载点时将其打印出来,即 $2 等于 null。

粘贴评论中有效的答案:

lsblk -r --output NAME,MOUNTPOINT | awk -F \/ '/sd/ { dsk=substr($1,1,3);dsks[dsk]+=1 } END { for ( i in dsks ) { if (dsks[i]==1) print i } }'
于 2017-05-10T10:44:08.597 回答