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

RemoteApp sporadic failureWindows 2008 RemoteAPP client disconnects within a matter of minutesWhat is the minimum version of RDP supported by Server 2012 RDS?How to configure a Remoteapp server to increase stabilityMicrosoft RemoteApp Active SessionRDWeb TS connection broken for some users post RemoteApp certificate changeRemote Desktop Licensing, RemoteAPPRDS 2012 R2 some users are not able to logon after changed date and time on Connection BrokersWhat happens during Remote Desktop logon, and is there any logging?After installing RDS on WinServer 2016 I still can only connect with two users?RD Connection via RDGW to Session host is not connecting

How to write a 12-bar blues melodyI-IV-V blues progressionHow to play the bridges in a standard blues progressionHow does Gdim7 fit in C# minor?question on a certain chord progressionMusicology of Melody12 bar blues, spread rhythm: alternative to 6th chord to avoid finger stretchChord progressions/ Root key/ MelodiesHow to put chords (POP-EDM) under a given lead vocal melody (starting from a good knowledge in music theory)Are there “rules” for improvising with the minor pentatonic scale over 12-bar shuffle?Confusion about blues scale and chords

Esgonzo ibérico Índice Descrición Distribución Hábitat Ameazas Notas Véxase tamén "Acerca dos nomes dos anfibios e réptiles galegos""Chalcides bedriagai"Chalcides bedriagai en Carrascal, L. M. Salvador, A. (Eds). Enciclopedia virtual de los vertebrados españoles. Museo Nacional de Ciencias Naturales, Madrid. España.Fotos