gpt4 book ai didi

regex - Sed 用法,删除/更改文本

转载 作者:太空狗 更新时间:2023-10-29 11:38:16 24 4
gpt4 key购买 nike

我有一个生成如下的字符串

OK::82.44.127.13:GB:UNITED KINGDOM:ENGLAND:WOKING:-:51.000:-0.55813:+01:00

我需要一个 sed 字符串来基本上更改为

82.44.127.13;GB UNITED KINGDOM ENGLAND WOKING;51.000;-0.55813

我认为这将需要多次运行 sed,到目前为止我已经:

sed 's/:-:/;/g' (which will change the :-: to a ;)
sed 's/:-/;-/g' (which will change the :- to a ;)
sed s/OK:://g (which will strip the OK::)

但我一直在思考如何将 ip 地址和位置之间的 : 更改为 ;,然后删除所有其他 :,并去掉时间?

(注意不是真正的 ip 地址)

最佳答案

使用 awk 可以更容易:

$ awk -F ":" '{print $3";"$4" "$5" "$6" "$7";"$9";"$10}' <<< "OK::82.44.127.13:GB:UNITED KINGDOM:ENGLAND:WOKING:-:51.000:-0.55813:+01:00"
82.44.127.13;GB UNITED KINGDOM ENGLAND WOKING;51.000;-0.55813

请注意,我正在打印诸如 $3";"$4""$5 之类的内容,因为字段分隔符正在更改。否则我们可以使用:BEGIN{OFS=";"}

$ awk -F ":" 'BEGIN{OFS=";"}{print $3,$4,$5,$6,$7,$9,$10}' <<< "OK::82.44.127.13:GB:UNITED KINGDOM:ENGLAND:WOKING:-:51.000:-0.55813:+01:00"
82.44.127.13;GB;UNITED KINGDOM;ENGLAND;WOKING;51.000;-0.55813

关于regex - Sed 用法,删除/更改文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17948023/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com