从awk结果中删除字符

时间:2015-08-03 14:24:15

标签: awk

我正在运行一个awk命令,在结果中输出一个带有“:”的输出。我怎么能删除它?有没有办法在一个中执行整个awk命令?

我正在运行的命令是:

fdisk -l | '/Disk/{print $2

给出了:

/dev/sda:

由于

2 个答案:

答案 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