Bash Script - Get result of `(.*)` (dot star) in grep regexrun grep cmd recursively and print path name and resultlimit grep context to a part of the result lineHow can I grep two things where one has option -w?bash regex does not recognize all groupsbash regex extract key = valueget output and return value of grep in single operation in bashbash script get result from test into variableCorrect regex not working in grepBash regex and IFS splitGrep in bash issues
Formal Definition of Dot Product
Why when I add jam to my tea it stops producing thin "membrane" on top?
Why is Drogon so much better in battle than Rhaegal and Viserion?
My bread in my bread maker rises and then falls down just after cooking starts
How would you translate "grit" (personality trait) to Chinese?
What do the "optional" resistor and capacitor do in this circuit?
Could there be something like aerobatic smoke trails in the vacuum of space?
What is the status of the Lannisters after Season 8 Episode 5, "The Bells"?
What metal is most suitable for a ladder submerged in an underground water tank?
Is random forest for regression a 'true' regression?
Assembly writer vs compiler
It is as easy as A B C, Figure out U V C from the given relationship
Why doesn't Iron Man's action affect this person in Endgame?
Is there any deeper thematic meaning to the white horse that Arya finds in The Bells (S08E05)?
Is there any good reason to write "it is easy to see"?
Will consteval functions allow template parameters dependent on function arguments?
Should I communicate in my applications that I'm unemployed out of choice rather than because nobody will have me?
How to describe a building set which is like LEGO without using the "LEGO" word?
Testing blind license applicants
Why would someone open a Netflix account using my Gmail address?
How to not get blinded by an attack at dawn
Holding rent money for my friend which amounts to over $10k?
Why commonly or frequently used fonts sizes are even numbers like 10px, 12px, 16px, 24px, or 32px?
How to redirect stdout to a file, and stdout+stderr to another one?
Bash Script - Get result of `(.*)` (dot star) in grep regex
run grep cmd recursively and print path name and resultlimit grep context to a part of the result lineHow can I grep two things where one has option -w?bash regex does not recognize all groupsbash regex extract key = valueget output and return value of grep in single operation in bashbash script get result from test into variableCorrect regex not working in grepBash regex and IFS splitGrep in bash issues
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
Let's say I have the following JSON string in a Bash script variable, DATA
:
"id": 10,
"name": "Person 1",
"note": "This is a test"
I need to get the value of the name
field. I have used grep
like this:
NAME=$(echo "$DATA" | grep -E ""name": "(.*)"")
However, this returns "name": "Person 1"
. I need Person 1
. How can I get the result of just the (.*)
?
shell-script grep regular-expression
add a comment |
Let's say I have the following JSON string in a Bash script variable, DATA
:
"id": 10,
"name": "Person 1",
"note": "This is a test"
I need to get the value of the name
field. I have used grep
like this:
NAME=$(echo "$DATA" | grep -E ""name": "(.*)"")
However, this returns "name": "Person 1"
. I need Person 1
. How can I get the result of just the (.*)
?
shell-script grep regular-expression
A more general answer: If the data was line based (not json), then you would usesed
.
– ctrl-alt-delor
May 4 at 8:50
add a comment |
Let's say I have the following JSON string in a Bash script variable, DATA
:
"id": 10,
"name": "Person 1",
"note": "This is a test"
I need to get the value of the name
field. I have used grep
like this:
NAME=$(echo "$DATA" | grep -E ""name": "(.*)"")
However, this returns "name": "Person 1"
. I need Person 1
. How can I get the result of just the (.*)
?
shell-script grep regular-expression
Let's say I have the following JSON string in a Bash script variable, DATA
:
"id": 10,
"name": "Person 1",
"note": "This is a test"
I need to get the value of the name
field. I have used grep
like this:
NAME=$(echo "$DATA" | grep -E ""name": "(.*)"")
However, this returns "name": "Person 1"
. I need Person 1
. How can I get the result of just the (.*)
?
shell-script grep regular-expression
shell-script grep regular-expression
asked May 4 at 5:28
APixel VisualsAPixel Visuals
1414
1414
A more general answer: If the data was line based (not json), then you would usesed
.
– ctrl-alt-delor
May 4 at 8:50
add a comment |
A more general answer: If the data was line based (not json), then you would usesed
.
– ctrl-alt-delor
May 4 at 8:50
A more general answer: If the data was line based (not json), then you would use
sed
.– ctrl-alt-delor
May 4 at 8:50
A more general answer: If the data was line based (not json), then you would use
sed
.– ctrl-alt-delor
May 4 at 8:50
add a comment |
1 Answer
1
active
oldest
votes
You can do this easily with jq
:
$ DATA='
"id": 10,
"name": "Person 1",
"note": "This is a test"
'
$ jq -r '.name' <<<"$DATA"
Person 1
In general, it's best to avoid regex for parsing structured data such as html, json, and yaml.
To accomplish this with grep, you need to use PCRE to leverage look-aheads and look-behinds:
$ echo $DATA | grep -Po '(?<="name": ").*(?=")'
Person 1
1
jq
makes things a lot easier. Thank you so much! I'll accept the answer after the 10 minute timer
– APixel Visuals
May 4 at 5:37
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f517054%2fbash-script-get-result-of-dot-star-in-grep-regex%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can do this easily with jq
:
$ DATA='
"id": 10,
"name": "Person 1",
"note": "This is a test"
'
$ jq -r '.name' <<<"$DATA"
Person 1
In general, it's best to avoid regex for parsing structured data such as html, json, and yaml.
To accomplish this with grep, you need to use PCRE to leverage look-aheads and look-behinds:
$ echo $DATA | grep -Po '(?<="name": ").*(?=")'
Person 1
1
jq
makes things a lot easier. Thank you so much! I'll accept the answer after the 10 minute timer
– APixel Visuals
May 4 at 5:37
add a comment |
You can do this easily with jq
:
$ DATA='
"id": 10,
"name": "Person 1",
"note": "This is a test"
'
$ jq -r '.name' <<<"$DATA"
Person 1
In general, it's best to avoid regex for parsing structured data such as html, json, and yaml.
To accomplish this with grep, you need to use PCRE to leverage look-aheads and look-behinds:
$ echo $DATA | grep -Po '(?<="name": ").*(?=")'
Person 1
1
jq
makes things a lot easier. Thank you so much! I'll accept the answer after the 10 minute timer
– APixel Visuals
May 4 at 5:37
add a comment |
You can do this easily with jq
:
$ DATA='
"id": 10,
"name": "Person 1",
"note": "This is a test"
'
$ jq -r '.name' <<<"$DATA"
Person 1
In general, it's best to avoid regex for parsing structured data such as html, json, and yaml.
To accomplish this with grep, you need to use PCRE to leverage look-aheads and look-behinds:
$ echo $DATA | grep -Po '(?<="name": ").*(?=")'
Person 1
You can do this easily with jq
:
$ DATA='
"id": 10,
"name": "Person 1",
"note": "This is a test"
'
$ jq -r '.name' <<<"$DATA"
Person 1
In general, it's best to avoid regex for parsing structured data such as html, json, and yaml.
To accomplish this with grep, you need to use PCRE to leverage look-aheads and look-behinds:
$ echo $DATA | grep -Po '(?<="name": ").*(?=")'
Person 1
answered May 4 at 5:32
jordanmjordanm
31.6k38998
31.6k38998
1
jq
makes things a lot easier. Thank you so much! I'll accept the answer after the 10 minute timer
– APixel Visuals
May 4 at 5:37
add a comment |
1
jq
makes things a lot easier. Thank you so much! I'll accept the answer after the 10 minute timer
– APixel Visuals
May 4 at 5:37
1
1
jq
makes things a lot easier. Thank you so much! I'll accept the answer after the 10 minute timer– APixel Visuals
May 4 at 5:37
jq
makes things a lot easier. Thank you so much! I'll accept the answer after the 10 minute timer– APixel Visuals
May 4 at 5:37
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f517054%2fbash-script-get-result-of-dot-star-in-grep-regex%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
A more general answer: If the data was line based (not json), then you would use
sed
.– ctrl-alt-delor
May 4 at 8:50