【发布时间】:2020-09-24 20:41:39
【问题描述】:
假设我有一个字符串:
ap=test:::bc=exam:::dc=comic:::mp=calc:::
在linux盒子里读,我需要去掉bc=exam,key总是一样的,但是value可以是任意值,字符串或者数字,key-value对的位置可以在任意位置细绳。
我必须去
sed -e 's/:::bc=\(.*:::\)*/\1/'
只删除键和分隔符。
或
sed -e 's/:::bc=.*\(:::\)*/\1/'
这是从键上删除所有内容。
提前致谢。
【问题讨论】:
-
当匹配他们的键值时,匹配直到
:的任何东西怎么样? -
sed 's/:::bc=[^:]*//' file(demo)? -
值可以包含冒号吗?
-
值中没有分号。