格雷普某些字符



所以,在下面的字符串中:

"body":"MESSAGE"

我试图只提取消息这个词。我一直在玩 grep 试图弄清楚,但现在只能打印第一个字母 M。

grep -oP "body":"K[^"]+,]

我尝试使用上面的语句,但似乎无法在没有引号分隔的情况下获得整个单词 MESSAGE。这个字符串 MESSAGE 会发生变化,所以 grep 语句只需要能够获取"body":" 和 " 之间的文本。

任何帮助将不胜感激!

看起来你得到了 JSON,在这种情况下你应该考虑使用 jq

jq -r '.body' file.json

例:

% cat file.json
{
  "body": "MESSAGE"
}
% jq -r '.body' file.json
MESSAGE

这应该有效:

grep -oP '"body":"K[^"]+' <<< '"body":"SOME MESSAGE"'
SOME MESSAGE

您应该改用 cut 命令。如果你的字符串在文件中,你可以试试这个:

cat file.txt | cut d'"' -f4

相关内容

  • 没有找到相关文章