echo $variable = {"name":"AAA","username":"BBB"}
我想从上面的输出中仅过滤BBB
。我使用了这个sed命令:
sed 's/."username":"(["])".*/\1/')
我正在
sed:-e表达式#1,字符27:无效的引用\ 1在`s'命令的RHS
我该如何解决这个问题?
答案 0 :(得分:1)
这只与BBB部分匹配。逃脱你的parens。 假设这是JSON,那么你不会在你正在寻找的值中引用任何引号(因为它引用了分隔符号)所以我将BBB部分与[^"] *匹配起来这是任何不引用的字符数。
variable='{"name":"AAA","username":"BBB"}'
echo "$variable" |sed 's/.*"username":"\([^"]*\)".*/\1/'