1
我有以下字符串:切子
<(name:John,sirname:Doe),(country:United States)>
而且我想通过括号之间的值循环,消除以前与<
>
。第一轮将给name:John,sirname:Doe
,第二轮country:United States
。但它可以有任何数量的值。我不想使用任何未在Linux发行版中预装的库或事物。
我有以下字符串:切子
<(name:John,sirname:Doe),(country:United States)>
而且我想通过括号之间的值循环,消除以前与<
>
。第一轮将给name:John,sirname:Doe
,第二轮country:United States
。但它可以有任何数量的值。我不想使用任何未在Linux发行版中预装的库或事物。
您可以使用gnu awk
与FPAT
打破使用(...)
模式的每个字段:
s='<(name:John,sirname:Doe),(country:United States)>'
awk -v FPAT='\\([^)]+\\)' '{
for (h=1; h<=NF; h++) {gsub(/[()]/, "", $h); print $h}}' <<< "$s"
name:John,sirname:Doe
country:United States
如果我想改变角色呢?对此:'[{name:John,sirname:Doe},{country:United States}]' –
然后将'FPAT'改为'FPAT ='\\ {[^}] + \\'' – anubhava
并且' gsub(/ [()] /,“”,$ h)''gsub(/ [{}] /,“”,$ h)' –