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

2025-03-25 18:02:45
推荐回答(1个)
回答1:

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