使用 lsblk -o name -lpn 显示驱动器,提取包含 "sd" 的字符串

display drives with lsblk -o name -lpn , extract string containing "sd"

所以我找遍了这里的一切,只找到 "from file"。我正在寻找从命令输出中提取的内容。

任务:显示以sd开头的磁盘的绝对路径名。

当前进度:显示磁盘的绝对路径名

[host /]$ lsblk -o name -lpn
/dev/sda
/dev/sda1
/dev/mapper/centos-root
/dev/sda2
/dev/md127
....

期望的输出

/dev/sda
/dev/sda1
/dev/sda2
....

我玩过 cut、print、awk 和 sed。

出现语法错误或无输出。

grep

lsblk -o name -lpn | grep "/dev/sd"

awk

lsblk -o name -lpn | awk '/dev\/sd/{print}'

sed

lsblk -o name -lpn | sed -n '/\/dev\/sd/p'

输出:

/dev/sda
/dev/sda1
/dev/sda2

试试 sed:

lsblk -o name -lpn |sed -n '/\/sd/p'