我想删除最后一个“。”除非 ”。”存在于“usa”一词之后
我的 sed 命令只删除了最后一个“。” ,
但是需要添加到 sed 语法(规则)中才能删除“。”仅在“美国”一词之后
host 10.1.23.86 | awk '{print $NF}'
sho4.il.usa.
host 10.1.23.86 | awk '{print $NF}' | sed s'/.$//'
sho4.il.usa
需要在 sed 中添加什么才能删除“.”仅在“美国”一词之后?
答案1
只需添加usa
表达式即可。您还需要转义.
以便仅匹配点本身而不是任何字符。
sed s'/usa\.$/usa/'
答案2
awk
可以做大部分sed
能做的事情,所以很少需要将它们通过管道连接在一起。
host 10.1.23.86 | awk '{sub(/usa\.$/, "usa", $NF); print $NF}'