基本思路,先用逗号做分割,然后过滤出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}'