在 2 个字符之间剪切子字符串并循环遍历它们
Cut substrings between 2 characters and loop through them
我有以下字符串:
<(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)>
我想遍历括号之间的值,之前删除 <
和 >
。第一个循环将给出 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