如何通过 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
使用awk
with-F
指定字段分隔符:
echo "NUMBER = 3247 FULL DUPLEX ; speed=343 434 " | awk -F\; '{print $1;}'
请注意,分号用反斜杠转义,这样您的 shell 就不会误解分号为命令的结尾。