sed + 在“;”分隔符前剪切行

sed + 在“;”分隔符前剪切行

如何通过 sed 执行以打印直到“;”字符的行

    echo "NUMBER   =   3247  FULL DUPLEX ; speed=343 434 " | sed .....

需要以下输出

编号 = 3247 全双工

答案1

你为什么不使用 awk 来做这件事?例如

echo "号码=3247;速度=343 434" | awk {'print $1'}

如果你真的需要前面有“,请使用

echo "号码=3247;速度=343 434" | awk {'print"\""$1'}

编辑:反馈后(参见下面的评论),这里是使用 sed 的正确版本:

echo “NUMBER = 3247 全双工;速度=343 434” | sed's/\;.*//g'

答案2

使用awkwith-F指定字段分隔符:

echo "NUMBER   =   3247  FULL DUPLEX ; speed=343 434 " | awk -F\; '{print $1;}'

请注意,分号用反斜杠转义,这样您的 shell 就不会误解分号为命令的结尾。

相关内容