Grep end regex matching Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) 2019 Community Moderator Election Results Why I closed the “Why is Kali so hard” questionSed regex - include original matchingRegex/pattern matching problem to extract dataRegex not matchingWhat is the email matching regex in basic regex for grep?Problems with regex in greppiping grep regex into sed commandgrep regular expression to avoid matching semicolon at endGrep word matchingsed or grep regex problemGrep regex not working

Unable to start mainnet node docker container

What's the difference between (size_t)-1 and ~0?

What are the performance impacts of 'functional' Rust?

Are my PIs rude or am I just being too sensitive?

How do you clear the ApexPages.getMessages() collection in a test?

Active filter with series inductor and resistor - do these exist?

What do you call a plan that's an alternative plan in case your initial plan fails?

Can the prologue be the backstory of your main character?

How does modal jazz use chord progressions?

Blender game recording at the wrong time

Why use gamma over alpha radiation?

What would be Julian Assange's expected punishment, on the current English criminal law?

How to market an anarchic city as a tourism spot to people living in civilized areas?

New Order #5: where Fibonacci and Beatty meet at Wythoff

How to say that you spent the night with someone, you were only sleeping and nothing else?

What was the last x86 CPU that did not have the x87 floating-point unit built in?

What to do with post with dry rot?

Replacing HDD with SSD; what about non-APFS/APFS?

What's the point in a preamp?

Estimated State payment too big --> money back; + 2018 Tax Reform

Cold is to Refrigerator as warm is to?

Autumning in love

Unexpected result with right shift after bitwise negation

What did Darwin mean by 'squib' here?



Grep end regex matching



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)
2019 Community Moderator Election Results
Why I closed the “Why is Kali so hard” questionSed regex - include original matchingRegex/pattern matching problem to extract dataRegex not matchingWhat is the email matching regex in basic regex for grep?Problems with regex in greppiping grep regex into sed commandgrep regular expression to avoid matching semicolon at endGrep word matchingsed or grep regex problemGrep regex not working



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








0















On OS X, system_profiler SPHardwareDataType outputs:



Hardware Overview:

Model Name: MacBook Pro
Total Number of Cores: 4
L2 Cache (per Core): 256 KB
L3 Cache: 8 MB
Memory: 8 GB


I want to get the Memory value, trimmed of whitespaces.



This is what I had:



system_profiler SPHardwareDataType | grep --color=never -E '^ +Memory: ' | cut -d ':' -f 2


Not ok. It keeps the whitespace.



I switched to this:



system_profiler SPHardwareDataType | perl -ne 'if(/^ +Memory: (.*)$/)print $1;'


and I'd like to ask:



  • Could this be made more concise in Perl?

The braces annoy me, often I type them wrong. Having to put the condition in () is also bothersome. The semicolon is bothersome.



  • Could this be made as concisely using more basic UNIX tools? (grep/sed/awk)?

Note: I do not use this line I like..



system_profiler SPHardwareDataType | sed -Ene 's/^ +Memory: (.*)$/1/g p'


because extended regexes (-E are -r on some platforms? possible?) and fundamentally because, although I understand that sed works on lines, -n suppresses output unless I explicitly p print it, s//g is a normal regex substitute.. and that commands following a match are only executed on matching lines.. I am puzzled by the fact that s//g in reality is an action in itself.. so I would expect p to require a ; before it.. odd that you can both replace and use the match as a condition to execute the comand.. is that line correct at all?










share|improve this question






























    0















    On OS X, system_profiler SPHardwareDataType outputs:



    Hardware Overview:

    Model Name: MacBook Pro
    Total Number of Cores: 4
    L2 Cache (per Core): 256 KB
    L3 Cache: 8 MB
    Memory: 8 GB


    I want to get the Memory value, trimmed of whitespaces.



    This is what I had:



    system_profiler SPHardwareDataType | grep --color=never -E '^ +Memory: ' | cut -d ':' -f 2


    Not ok. It keeps the whitespace.



    I switched to this:



    system_profiler SPHardwareDataType | perl -ne 'if(/^ +Memory: (.*)$/)print $1;'


    and I'd like to ask:



    • Could this be made more concise in Perl?

    The braces annoy me, often I type them wrong. Having to put the condition in () is also bothersome. The semicolon is bothersome.



    • Could this be made as concisely using more basic UNIX tools? (grep/sed/awk)?

    Note: I do not use this line I like..



    system_profiler SPHardwareDataType | sed -Ene 's/^ +Memory: (.*)$/1/g p'


    because extended regexes (-E are -r on some platforms? possible?) and fundamentally because, although I understand that sed works on lines, -n suppresses output unless I explicitly p print it, s//g is a normal regex substitute.. and that commands following a match are only executed on matching lines.. I am puzzled by the fact that s//g in reality is an action in itself.. so I would expect p to require a ; before it.. odd that you can both replace and use the match as a condition to execute the comand.. is that line correct at all?










    share|improve this question


























      0












      0








      0








      On OS X, system_profiler SPHardwareDataType outputs:



      Hardware Overview:

      Model Name: MacBook Pro
      Total Number of Cores: 4
      L2 Cache (per Core): 256 KB
      L3 Cache: 8 MB
      Memory: 8 GB


      I want to get the Memory value, trimmed of whitespaces.



      This is what I had:



      system_profiler SPHardwareDataType | grep --color=never -E '^ +Memory: ' | cut -d ':' -f 2


      Not ok. It keeps the whitespace.



      I switched to this:



      system_profiler SPHardwareDataType | perl -ne 'if(/^ +Memory: (.*)$/)print $1;'


      and I'd like to ask:



      • Could this be made more concise in Perl?

      The braces annoy me, often I type them wrong. Having to put the condition in () is also bothersome. The semicolon is bothersome.



      • Could this be made as concisely using more basic UNIX tools? (grep/sed/awk)?

      Note: I do not use this line I like..



      system_profiler SPHardwareDataType | sed -Ene 's/^ +Memory: (.*)$/1/g p'


      because extended regexes (-E are -r on some platforms? possible?) and fundamentally because, although I understand that sed works on lines, -n suppresses output unless I explicitly p print it, s//g is a normal regex substitute.. and that commands following a match are only executed on matching lines.. I am puzzled by the fact that s//g in reality is an action in itself.. so I would expect p to require a ; before it.. odd that you can both replace and use the match as a condition to execute the comand.. is that line correct at all?










      share|improve this question
















      On OS X, system_profiler SPHardwareDataType outputs:



      Hardware Overview:

      Model Name: MacBook Pro
      Total Number of Cores: 4
      L2 Cache (per Core): 256 KB
      L3 Cache: 8 MB
      Memory: 8 GB


      I want to get the Memory value, trimmed of whitespaces.



      This is what I had:



      system_profiler SPHardwareDataType | grep --color=never -E '^ +Memory: ' | cut -d ':' -f 2


      Not ok. It keeps the whitespace.



      I switched to this:



      system_profiler SPHardwareDataType | perl -ne 'if(/^ +Memory: (.*)$/)print $1;'


      and I'd like to ask:



      • Could this be made more concise in Perl?

      The braces annoy me, often I type them wrong. Having to put the condition in () is also bothersome. The semicolon is bothersome.



      • Could this be made as concisely using more basic UNIX tools? (grep/sed/awk)?

      Note: I do not use this line I like..



      system_profiler SPHardwareDataType | sed -Ene 's/^ +Memory: (.*)$/1/g p'


      because extended regexes (-E are -r on some platforms? possible?) and fundamentally because, although I understand that sed works on lines, -n suppresses output unless I explicitly p print it, s//g is a normal regex substitute.. and that commands following a match are only executed on matching lines.. I am puzzled by the fact that s//g in reality is an action in itself.. so I would expect p to require a ; before it.. odd that you can both replace and use the match as a condition to execute the comand.. is that line correct at all?







      sed grep perl






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 17 hours ago









      Rui F Ribeiro

      42.1k1483142




      42.1k1483142










      asked Mar 29 '13 at 19:34









      RobottinosinoRobottinosino

      1,87382745




      1,87382745




















          3 Answers
          3






          active

          oldest

          votes


















          1














          Awk would make it most consise:



          system_profiler SPHardwareDataType | awk -F': ' '/Memory:/print $2'





          share|improve this answer

























          • Does not capture the unit of measure, in that case GB, which was desirable.. perhaps a capture "from field 2 to NF"? How would you write that?

            – Robottinosino
            Mar 29 '13 at 19:38











          • Not sure, so I simply edited the answer to use a proper -F parameter :)

            – Dennis Kaarsemaker
            Mar 29 '13 at 19:46












          • This is the best I have found anywhere. The -F to include both the colon and the space trims the rest of the line already, in one go. Very compact, exactly right.. LIKE!

            – Robottinosino
            Mar 29 '13 at 20:11



















          0














          This is all you really need for the Perl one:



          system_profiler SPHardwareDataType | perl -nle '/ry:s*(.*)/ && print $1'


          Some other choices:




          • system_profiler SPHardwareDataType | /bin/grep Me | gawk 'print $2,$3'



            Using /bin/grep eliminates the need for --color=never. grep is defined as an alias to grep --color=auto in /etc/bash.bashrc (at least it is on most Linux distros and, I guess, on OSX).




          • system_profiler SPHardwareDataType | /bin/grep Me | /bin/egrep -o '[1-9]+.+'



            The -o causes grep toprint only the matched characters.



          • system_profiler SPHardwareDataType | tail -n 1 | cut -d ' ' -f 4,5


          • system_profiler SPHardwareDataType | tail -n 1 | sed 's/.*: //g'






          share|improve this answer
































            0














            system_profiler SPHardwareDataType | sed -n 's/^ *Memory: //p'


            p here is a flag to the s command (like g), not the p command, and means print the pattern space if the substitution takes place. You don't need g here, since the pattern can only match once.






            share|improve this answer























              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%2f70541%2fgrep-end-regex-matching%23new-answer', 'question_page');

              );

              Post as a guest















              Required, but never shown

























              3 Answers
              3






              active

              oldest

              votes








              3 Answers
              3






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              1














              Awk would make it most consise:



              system_profiler SPHardwareDataType | awk -F': ' '/Memory:/print $2'





              share|improve this answer

























              • Does not capture the unit of measure, in that case GB, which was desirable.. perhaps a capture "from field 2 to NF"? How would you write that?

                – Robottinosino
                Mar 29 '13 at 19:38











              • Not sure, so I simply edited the answer to use a proper -F parameter :)

                – Dennis Kaarsemaker
                Mar 29 '13 at 19:46












              • This is the best I have found anywhere. The -F to include both the colon and the space trims the rest of the line already, in one go. Very compact, exactly right.. LIKE!

                – Robottinosino
                Mar 29 '13 at 20:11
















              1














              Awk would make it most consise:



              system_profiler SPHardwareDataType | awk -F': ' '/Memory:/print $2'





              share|improve this answer

























              • Does not capture the unit of measure, in that case GB, which was desirable.. perhaps a capture "from field 2 to NF"? How would you write that?

                – Robottinosino
                Mar 29 '13 at 19:38











              • Not sure, so I simply edited the answer to use a proper -F parameter :)

                – Dennis Kaarsemaker
                Mar 29 '13 at 19:46












              • This is the best I have found anywhere. The -F to include both the colon and the space trims the rest of the line already, in one go. Very compact, exactly right.. LIKE!

                – Robottinosino
                Mar 29 '13 at 20:11














              1












              1








              1







              Awk would make it most consise:



              system_profiler SPHardwareDataType | awk -F': ' '/Memory:/print $2'





              share|improve this answer















              Awk would make it most consise:



              system_profiler SPHardwareDataType | awk -F': ' '/Memory:/print $2'






              share|improve this answer














              share|improve this answer



              share|improve this answer








              edited Mar 29 '13 at 19:46

























              answered Mar 29 '13 at 19:36









              Dennis KaarsemakerDennis Kaarsemaker

              6,99812326




              6,99812326












              • Does not capture the unit of measure, in that case GB, which was desirable.. perhaps a capture "from field 2 to NF"? How would you write that?

                – Robottinosino
                Mar 29 '13 at 19:38











              • Not sure, so I simply edited the answer to use a proper -F parameter :)

                – Dennis Kaarsemaker
                Mar 29 '13 at 19:46












              • This is the best I have found anywhere. The -F to include both the colon and the space trims the rest of the line already, in one go. Very compact, exactly right.. LIKE!

                – Robottinosino
                Mar 29 '13 at 20:11


















              • Does not capture the unit of measure, in that case GB, which was desirable.. perhaps a capture "from field 2 to NF"? How would you write that?

                – Robottinosino
                Mar 29 '13 at 19:38











              • Not sure, so I simply edited the answer to use a proper -F parameter :)

                – Dennis Kaarsemaker
                Mar 29 '13 at 19:46












              • This is the best I have found anywhere. The -F to include both the colon and the space trims the rest of the line already, in one go. Very compact, exactly right.. LIKE!

                – Robottinosino
                Mar 29 '13 at 20:11

















              Does not capture the unit of measure, in that case GB, which was desirable.. perhaps a capture "from field 2 to NF"? How would you write that?

              – Robottinosino
              Mar 29 '13 at 19:38





              Does not capture the unit of measure, in that case GB, which was desirable.. perhaps a capture "from field 2 to NF"? How would you write that?

              – Robottinosino
              Mar 29 '13 at 19:38













              Not sure, so I simply edited the answer to use a proper -F parameter :)

              – Dennis Kaarsemaker
              Mar 29 '13 at 19:46






              Not sure, so I simply edited the answer to use a proper -F parameter :)

              – Dennis Kaarsemaker
              Mar 29 '13 at 19:46














              This is the best I have found anywhere. The -F to include both the colon and the space trims the rest of the line already, in one go. Very compact, exactly right.. LIKE!

              – Robottinosino
              Mar 29 '13 at 20:11






              This is the best I have found anywhere. The -F to include both the colon and the space trims the rest of the line already, in one go. Very compact, exactly right.. LIKE!

              – Robottinosino
              Mar 29 '13 at 20:11














              0














              This is all you really need for the Perl one:



              system_profiler SPHardwareDataType | perl -nle '/ry:s*(.*)/ && print $1'


              Some other choices:




              • system_profiler SPHardwareDataType | /bin/grep Me | gawk 'print $2,$3'



                Using /bin/grep eliminates the need for --color=never. grep is defined as an alias to grep --color=auto in /etc/bash.bashrc (at least it is on most Linux distros and, I guess, on OSX).




              • system_profiler SPHardwareDataType | /bin/grep Me | /bin/egrep -o '[1-9]+.+'



                The -o causes grep toprint only the matched characters.



              • system_profiler SPHardwareDataType | tail -n 1 | cut -d ' ' -f 4,5


              • system_profiler SPHardwareDataType | tail -n 1 | sed 's/.*: //g'






              share|improve this answer





























                0














                This is all you really need for the Perl one:



                system_profiler SPHardwareDataType | perl -nle '/ry:s*(.*)/ && print $1'


                Some other choices:




                • system_profiler SPHardwareDataType | /bin/grep Me | gawk 'print $2,$3'



                  Using /bin/grep eliminates the need for --color=never. grep is defined as an alias to grep --color=auto in /etc/bash.bashrc (at least it is on most Linux distros and, I guess, on OSX).




                • system_profiler SPHardwareDataType | /bin/grep Me | /bin/egrep -o '[1-9]+.+'



                  The -o causes grep toprint only the matched characters.



                • system_profiler SPHardwareDataType | tail -n 1 | cut -d ' ' -f 4,5


                • system_profiler SPHardwareDataType | tail -n 1 | sed 's/.*: //g'






                share|improve this answer



























                  0












                  0








                  0







                  This is all you really need for the Perl one:



                  system_profiler SPHardwareDataType | perl -nle '/ry:s*(.*)/ && print $1'


                  Some other choices:




                  • system_profiler SPHardwareDataType | /bin/grep Me | gawk 'print $2,$3'



                    Using /bin/grep eliminates the need for --color=never. grep is defined as an alias to grep --color=auto in /etc/bash.bashrc (at least it is on most Linux distros and, I guess, on OSX).




                  • system_profiler SPHardwareDataType | /bin/grep Me | /bin/egrep -o '[1-9]+.+'



                    The -o causes grep toprint only the matched characters.



                  • system_profiler SPHardwareDataType | tail -n 1 | cut -d ' ' -f 4,5


                  • system_profiler SPHardwareDataType | tail -n 1 | sed 's/.*: //g'






                  share|improve this answer















                  This is all you really need for the Perl one:



                  system_profiler SPHardwareDataType | perl -nle '/ry:s*(.*)/ && print $1'


                  Some other choices:




                  • system_profiler SPHardwareDataType | /bin/grep Me | gawk 'print $2,$3'



                    Using /bin/grep eliminates the need for --color=never. grep is defined as an alias to grep --color=auto in /etc/bash.bashrc (at least it is on most Linux distros and, I guess, on OSX).




                  • system_profiler SPHardwareDataType | /bin/grep Me | /bin/egrep -o '[1-9]+.+'



                    The -o causes grep toprint only the matched characters.



                  • system_profiler SPHardwareDataType | tail -n 1 | cut -d ' ' -f 4,5


                  • system_profiler SPHardwareDataType | tail -n 1 | sed 's/.*: //g'







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Mar 29 '13 at 20:04

























                  answered Mar 29 '13 at 19:51









                  terdonterdon

                  134k33270450




                  134k33270450





















                      0














                      system_profiler SPHardwareDataType | sed -n 's/^ *Memory: //p'


                      p here is a flag to the s command (like g), not the p command, and means print the pattern space if the substitution takes place. You don't need g here, since the pattern can only match once.






                      share|improve this answer



























                        0














                        system_profiler SPHardwareDataType | sed -n 's/^ *Memory: //p'


                        p here is a flag to the s command (like g), not the p command, and means print the pattern space if the substitution takes place. You don't need g here, since the pattern can only match once.






                        share|improve this answer

























                          0












                          0








                          0







                          system_profiler SPHardwareDataType | sed -n 's/^ *Memory: //p'


                          p here is a flag to the s command (like g), not the p command, and means print the pattern space if the substitution takes place. You don't need g here, since the pattern can only match once.






                          share|improve this answer













                          system_profiler SPHardwareDataType | sed -n 's/^ *Memory: //p'


                          p here is a flag to the s command (like g), not the p command, and means print the pattern space if the substitution takes place. You don't need g here, since the pattern can only match once.







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Mar 29 '13 at 22:34









                          Stéphane ChazelasStéphane Chazelas

                          314k57594953




                          314k57594953



























                              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%2f70541%2fgrep-end-regex-matching%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







                              -grep, perl, sed

                              Popular posts from this blog

                              Mobil Contents History Mobil brands Former Mobil brands Lukoil transaction Mobil UK Mobil Australia Mobil New Zealand Mobil Greece Mobil in Japan Mobil in Canada Mobil Egypt See also References External links Navigation menuwww.mobil.com"Mobil Corporation"the original"Our Houston campus""Business & Finance: Socony-Vacuum Corp.""Popular Mechanics""Lubrite Technologies""Exxon Mobil campus 'clearly happening'""Toledo Blade - Google News Archive Search""The Lion and the Moose - How 2 Executives Pulled off the Biggest Merger Ever""ExxonMobil Press Release""Lubricants""Archived copy"the original"Mobil 1™ and Mobil Super™ motor oil and synthetic motor oil - Mobil™ Motor Oils""Mobil Delvac""Mobil Industrial website""The State of Competition in Gasoline Marketing: The Effects of Refiner Operations at Retail""Mobil Travel Guide to become Forbes Travel Guide""Hotel Rankings: Forbes Merges with Mobil"the original"Jamieson oil industry history""Mobil news""Caltex pumps for control""Watchdog blocks Caltex bid""Exxon Mobil sells service station network""Mobil Oil New Zealand Limited is New Zealand's oldest oil company, with predecessor companies having first established a presence in the country in 1896""ExxonMobil subsidiaries have a business history in New Zealand stretching back more than 120 years. We are involved in petroleum refining and distribution and the marketing of fuels, lubricants and chemical products""Archived copy"the original"Exxon Mobil to Sell Its Japanese Arm for $3.9 Billion""Gas station merger will end Esso and Mobil's long run in Japan""Esso moves to affiliate itself with PC Optimum, no longer Aeroplan, in loyalty point switch""Mobil brand of gas stations to launch in Canada after deal for 213 Loblaws-owned locations""Mobil Nears Completion of Rebranding 200 Loblaw Gas Stations""Learn about ExxonMobil's operations in Egypt""Petrol and Diesel Service Stations in Egypt - Mobil"Official websiteExxon Mobil corporate websiteMobil Industrial official websiteeeeeeeeDA04275022275790-40000 0001 0860 5061n82045453134887257134887257

                              Identify plant with long narrow paired leaves and reddish stems Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?What is this plant with long sharp leaves? Is it a weed?What is this 3ft high, stalky plant, with mid sized narrow leaves?What is this young shrub with opposite ovate, crenate leaves and reddish stems?What is this plant with large broad serrated leaves?Identify this upright branching weed with long leaves and reddish stemsPlease help me identify this bulbous plant with long, broad leaves and white flowersWhat is this small annual with narrow gray/green leaves and rust colored daisy-type flowers?What is this chilli plant?Does anyone know what type of chilli plant this is?Help identify this plant

                              My Life (Mary J. Blige album) Contents Background Critical reception Accolades Commercial performance Track listing Personnel Charts Certifications See also References External links Navigation menu"1. Mary J Blige, My Life - The 50 Best R&B albums of the '90s""American album certifications – Mary J. Blige – My Life""Mary J. Blige's My Life LP (1994) revisited with co-producer Chucky Thompson | Return To The Classics"the original"Key Tracks: Mary J. Blige's My Life""My Life – Mary J. Blige""Worth The Wait""My Life""Forget '411,' Mary J., Better Call 911""Spins"My Life AccoladesThe 500 Greatest Albums of All TimeTime's All-TIME 100 Albums"Top RPM Albums: Issue chartid""Dutchcharts.nl – Mary J. Blige – My Life""Mary J. Blige | Artist | Official Charts""Mary J. Blige Chart History (Billboard 200)""Mary J. Blige Chart History (Top R&B/Hip-Hop Albums)""Canadian album certifications – Mary J Blige – My Life""British album certifications – Mary J Blige – My Life""American album certifications – Mary J Blige – My Life"My LifeMy Life accoladesee