如何用sed或awk提取方括号中字符串

如何用简短的语句提取下面字符串中d的内容,a=[asdfghjk],b=[],c=[],d=[asdfghjklkjhgfds1234sdfgh]... 如何用简短的语句提取下面字符串中d的内容,
a=[asdfghjk],b=[],c=[],d=[asdfghjklkjhgfds1234sdfgh]
展开
 我来答
charleszhangji
推荐于2017-11-22 · TA获得超过4554个赞
知道小有建树答主
回答量:887
采纳率:0%
帮助的人:961万
展开全部

基本思路,先用逗号做分割,然后过滤出d=开头的字符串,清掉中括号,提取出里面的内容:

例如:

echo a=[asdfghjk],b=[],c=[],d=[asdfghjklkjhgfds1234sdfgh] | awk -F"," '{for (i=1;i<=NF;++i) print $i}' | awk 'gsub("d=","") {gsub("^\\[","",$0); gsub("\\]$",""); print $0}'
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式