lsblk |grep -B1 -E "part|boot" |grep -E "^sd[a-z]+|^nvme" |awk '{print $1}') |sed 's/ /|/'
时间: 2023-09-26 16:10:33 浏览: 142
Linux文本处理命令:awk、sed、grep
这是一个Linux命令,用于列出所有磁盘分区的设备名称,并将其格式化为一个用竖线分隔的字符串。
具体命令解释如下:
1. `lsblk`:列出所有块设备的信息。
2. `grep -B1 -E "part|boot"`:查找包含“part”或“boot”关键字的行,并输出该行及其前一行。
3. `grep -E "^sd[a-z]+|^nvme"`:在上一步的结果中,查找以“sd”开头后面跟着一个或多个小写字母的行,或者以“nvme”开头的行。
4. `awk '{print $1}'`:提取每行的第一个字段,即设备名称。
5. `sed 's/ /|/'`:将每个设备名称中的空格替换为竖线。
最终输出的字符串格式为:“/dev/sda1|/dev/sda2|/dev/nvme0n1p1|...”
阅读全文