我正在运行一个awk命令,在结果中输出一个带有“:”的输出。我怎么能删除它?有没有办法在一个中执行整个awk命令?
我正在运行的命令是:
fdisk -l | '/Disk/{print $2
给出了:
/dev/sda:
由于
答案 0 :(得分:2)
这应该可以解决问题:
fdisk -l | awk -F'[ :]+' '/^Disk \// {print $2}'
/dev/sda
说明:
-F'[ :]+'
将字段Separator设置为空格或冒号,只要有多个。
我匹配/^Disk \/
,以防止一些误报(正斜杠需要通过反斜杠转义)。
答案 1 :(得分:2)
要获取所有/ dev / {disks}的列表,您可以尝试将lsblk
与-o {flags}
一起使用,并且也不必是SU ... N.B. “ PATH”是列标题
lsblk -o PATH
这将为您提供所有磁盘和分区(包括循环分区),就像您从“ fdisk -l”中看到的那样。
“ lsblk -o {flags}”将为您提供更多信息...试试这个有趣(和google / man了解更多)...
lsblk -o NAME,LABEL,PATH,MOUNTPOINT