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;








4















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 (.*)?










share|improve this question






















  • 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

















4















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 (.*)?










share|improve this question






















  • 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













4












4








4








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 (.*)?










share|improve this question














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






share|improve this question













share|improve this question











share|improve this question




share|improve this question










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 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
















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










1 Answer
1






active

oldest

votes


















7














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





share|improve this answer


















  • 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











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
);



);













draft saved

draft discarded


















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









7














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





share|improve this answer


















  • 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















7














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





share|improve this answer


















  • 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













7












7








7







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





share|improve this answer













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






share|improve this answer












share|improve this answer



share|improve this answer










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












  • 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

















draft saved

draft discarded
















































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.




draft saved


draft discarded














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





















































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







Popular posts from this blog

Wikipedia:Vital articles Мазмуну Biography - Өмүр баян Philosophy and psychology - Философия жана психология Religion - Дин Social sciences - Коомдук илимдер Language and literature - Тил жана адабият Science - Илим Technology - Технология Arts and recreation - Искусство жана эс алуу History and geography - Тарых жана география Навигация менюсу

Bruxelas-Capital Índice Historia | Composición | Situación lingüística | Clima | Cidades irmandadas | Notas | Véxase tamén | Menú de navegacióneO uso das linguas en Bruxelas e a situación do neerlandés"Rexión de Bruxelas Capital"o orixinalSitio da rexiónPáxina de Bruselas no sitio da Oficina de Promoción Turística de Valonia e BruxelasMapa Interactivo da Rexión de Bruxelas-CapitaleeWorldCat332144929079854441105155190212ID28008674080552-90000 0001 0666 3698n94104302ID540940339365017018237

What should I write in an apology letter, since I have decided not to join a company after accepting an offer letterShould I keep looking after accepting a job offer?What should I do when I've been verbally told I would get an offer letter, but still haven't gotten one after 4 weeks?Do I accept an offer from a company that I am not likely to join?New job hasn't confirmed starting date and I want to give current employer as much notice as possibleHow should I address my manager in my resignation letter?HR delayed background verification, now jobless as resignedNo email communication after accepting a formal written offer. How should I phrase the call?What should I do if after receiving a verbal offer letter I am informed that my written job offer is put on hold due to some internal issues?Should I inform the current employer that I am about to resign within 1-2 weeks since I have signed the offer letter and waiting for visa?What company will do, if I send their offer letter to another company