echo $variable = {"name":"AAA","username":"BBB"}
我想从上面的输出中只过滤BBB
。我用过这个sed命令:
sed 's/."username":"(["])".*/\1/')
我正进入(状态
sed:-e表达式#1,字符27:在`s'命令的RHS上无效的引用\ 1
我怎样才能解决这个问题?
这只与BBB部分匹配。逃脱你的parens。假设这是JSON,那么你正在寻找的值中没有任何引号(因为它是引号分隔的)所以我将BBB部分与[^“] *匹配,这是任何数量的非引号的字符。
variable='{"name":"AAA","username":"BBB"}'
echo "$variable" |sed 's/.*"username":"\([^"]*\)".*/\1/'