我正在尝试过滤新添加的驱动器,如da0,da1...(取决于硬盘类型)等。这应该是通过动态发生的,就像如果我运行ls /dev/ | grep "da\|ada\|vtbd\|nvd",我应该只得到新添加的驱动器或卸载的驱动器。所以我需要删除挂载的驱动器,并且应该过滤未挂载的驱动器。如何使用sed或awk命令对其进行过滤?
root@ostest:~ # lsblk
DEVICE MAJ:MIN SIZE TYPE LABEL MOUNT
da0 0:93 5.0G zfs - -
da1 0:104 5.0G zfs - -
da2 0:105 5.0G zfs - -
da3 0:107 5.0G zfs - -
vtbd0 0:87 50G GPT - -
vtbd0p1 0:89 256K freebsd-boot gptid/0599c6ae-5f2f-11eb-a6b0-1707445d9baa -
vtbd0p2 0:90 2.0G freebsd-swap gpt/swap0 -
vtbd0p3 0:91 48G freebsd-zfs gpt/disk0 <ZFS>
vtbd1 0:88 482K cd9660 iso9660/config-2 /var/lib/cloud/seed/config_drive发布于 2021-02-08 23:12:40
您可以运行以下命令列出已卸载的卷:
lsblk --noheadings --raw | awk '{print substr($0,0,4)}' | uniq -c | grep 1 | awk '{print "/dev/"$2}' | grep -E "(/dev/.*)[[:digit:]]"使用此命令,我们将使用grep -E "(/dev/.*)[[:digit:]]列出所有分区,忽略磁盘。
https://stackoverflow.com/questions/66012670
复制相似问题