我想提取一个参数的值,它用冒号分隔,而参数和值都在双引号之间。
我尝试用awk来做,但是使用冒号作为分隔符不起作用,因为你在值中看到了冒号。
"param1" : "u:user1:A,u:user2:B,u:user3:A,g:group1:A,g:group2:C",
我只想提取这个:u:user1:A,u:user2:B,u:user3:A,g:group1:A,g:group2:C,以便在最后附加一个新值用我的剧本。
由于
答案 0 :(得分:1)
使用双引号作为分隔符,您可以使用第4个字段:
$ str='"param1" : "u:user1:A,u:user2:B,u:user3:A,g:group1:A,g:group2:C",'
$ value=$( cut -d'"' -f4 <<<"$str" )
$ echo "$value"
u:user1:A,u:user2:B,u:user3:A,g:group1:A,g:group2:C
答案 1 :(得分:1)
尝试使用awk进行跟踪,并告诉我这是否对您有所帮助。
awk -F'"' '{print $4}' Input_file