那么,在下面的字符串:grep的某些字符
"body":"MESSAGE"
我想只是提取码字信息。我一直在玩grep,试图找出它,但现在只能得到第一个字母M打印。
grep -oP "body":"\K[^"]+,]
我试过使用上述语句,但似乎无法得到整个单词MESSAGE没有引号分隔。这个字符串MESSAGE改变了,所以grep语句只需要能够在“body”:“and”之间获取文本。
任何帮助将不胜感激!
那么,在下面的字符串:grep的某些字符
"body":"MESSAGE"
我想只是提取码字信息。我一直在玩grep,试图找出它,但现在只能得到第一个字母M打印。
grep -oP "body":"\K[^"]+,]
我试过使用上述语句,但似乎无法得到整个单词MESSAGE没有引号分隔。这个字符串MESSAGE改变了,所以grep语句只需要能够在“body”:“and”之间获取文本。
任何帮助将不胜感激!
这应该工作:
grep -oP '"body":"\K[^"]+' <<< '"body":"SOME MESSAGE"'
SOME MESSAGE
它看起来就像你JSON,在这种情况下,你应该考虑使用jq
:
jq -r '.body' file.json
例子:
% cat file.json
{
"body": "MESSAGE"
}
% jq -r '.body' file.json
MESSAGE
您应该使用改为切换命令。 如果你的字符串在一个文件中,你可以试试这个:
cat file.txt | cut d'"' -f4