例如,以下清单.:
- name_1: name_11:value-1
name_2: value-2
name_3: http://value-3
- name_4: https://value-4
name_5: name_51:value-5
name_6: value-61:value-62:value-63..。必须转化为:
- name_1: value-1
name_2: value-2
name_3: http://value-3
- name_4: https://value-4
name_5: value-5
name_6: value-61:value-62:value-63下面的sed命令移除所有第二个"name“字段,包括当它们与‘https*’匹配时:
sed -E 's|([[:blank:]-]+[[:alnum:]_\.-]+:[[:blank:]]+)[[:alnum:]_\.-]+:([^:]+)$|\1\2|g' file
- name_1: value-1
name_2: value-2
name_3: //value-3
- name_4: //value-4
name_5: value-5
name_6: value-61:value-62:value-63有什么建议吗?
发布于 2019-12-10 19:47:15
使用替换((https?:)|[[:alnum:]_.-]+:)捕获http:或https::
sed -E 's/([[:blank:]-]+[[:alnum:]_.-]+:[[:blank:]]+)((https?:)|[[:alnum:]_.-]+:)([^:]+)$/\1\3\4/g' filehttps://stackoverflow.com/questions/59274143
复制相似问题