How to specify regex quantifiers with mawk?2019 Community Moderator ElectionTrouble with grep -o regexWalking Multidimensional arrays in Mawknginx location regex with proxypassInterpreting regex wildcards with grepLocate --regex with negative lookaheadCensor text with regexHow to print own script name in mawk?awk (mawk): regular expression compile failed (missing operand)How do I extract overlapping character patterns with regex?Why does regex `“.pdf”` match `/…/pdf…/…` in gawk, but not in mawk?

Flux received by a negative charge

Biological Blimps: Propulsion

How is flyblackbird.com operating under Part 91K?

Count the occurrence of each unique word in the file

Will adding a BY-SA image to a blog post make the entire post BY-SA?

Open problems concerning all the finite groups

How much character growth crosses the line into breaking the character

Proving a function is onto where f(x)=|x|.

Indicating multiple different modes of speech (fantasy language or telepathy)

Varistor? Purpose and principle

Will the technology I first learn determine the direction of my future career?

Create all possible words using a set or letters

Does a 'pending' US visa application constitute a denial?

How should I respond when I lied about my education and the company finds out through background check?

How do we rationalize a person's sins being solely their own when we have traditions that blame entire nations for certain acts?

Bob has never been a M before

How do I nest cases?

Should I install hardwood flooring or cabinets first?

Can I use my Chinese passport to enter China after I acquired another citizenship?

Can a Necromancer Reuse the corpses left behind from slain Undead?

Schmidt decomposition - example

Is there a conventional notation or name for the slip angle?

Why is it that I can sometimes guess the next note?

How does the reference system of the Majjhima Nikaya work?



How to specify regex quantifiers with mawk?



2019 Community Moderator ElectionTrouble with grep -o regexWalking Multidimensional arrays in Mawknginx location regex with proxypassInterpreting regex wildcards with grepLocate --regex with negative lookaheadCensor text with regexHow to print own script name in mawk?awk (mawk): regular expression compile failed (missing operand)How do I extract overlapping character patterns with regex?Why does regex `“.pdf”` match `/…/pdf…/…` in gawk, but not in mawk?










0















I'm familiar with the concept of specified bounded regex quantifiers as follows:



Quantifier Legend Example Sample Match

3 Exactly three times D3 ABC
2,4 Two to four times d2,4 156
3, Three or more times w3, regex_tutorialer


However, I've not been able to find anything like the above for mawk in the man pages nor online.



Does the mawk command have this functionality, or is there a different way of accomplishing the same effect?



I am using version 1.3.3










share|improve this question




























    0















    I'm familiar with the concept of specified bounded regex quantifiers as follows:



    Quantifier Legend Example Sample Match

    3 Exactly three times D3 ABC
    2,4 Two to four times d2,4 156
    3, Three or more times w3, regex_tutorialer


    However, I've not been able to find anything like the above for mawk in the man pages nor online.



    Does the mawk command have this functionality, or is there a different way of accomplishing the same effect?



    I am using version 1.3.3










    share|improve this question


























      0












      0








      0








      I'm familiar with the concept of specified bounded regex quantifiers as follows:



      Quantifier Legend Example Sample Match

      3 Exactly three times D3 ABC
      2,4 Two to four times d2,4 156
      3, Three or more times w3, regex_tutorialer


      However, I've not been able to find anything like the above for mawk in the man pages nor online.



      Does the mawk command have this functionality, or is there a different way of accomplishing the same effect?



      I am using version 1.3.3










      share|improve this question
















      I'm familiar with the concept of specified bounded regex quantifiers as follows:



      Quantifier Legend Example Sample Match

      3 Exactly three times D3 ABC
      2,4 Two to four times d2,4 156
      3, Three or more times w3, regex_tutorialer


      However, I've not been able to find anything like the above for mawk in the man pages nor online.



      Does the mawk command have this functionality, or is there a different way of accomplishing the same effect?



      I am using version 1.3.3







      regular-expression mawk






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 13 at 16:45







      just-in-time_learning

















      asked Mar 13 at 16:30









      just-in-time_learningjust-in-time_learning

      304




      304




















          1 Answer
          1






          active

          oldest

          votes


















          1














          Interval regexp operators are supported in POSIX compliant awk implementations.



          But as awk initially didn't support them (neither did nawk nor mawk nor gawk), there are still several implementations that don't support them like mawk, the one true awk (originally maintained by Brian Kernighan, the k in awk) until a few days ago, Solaris /bin/awk, Solaris /bin/nawk, the awk of most BSDs.



          Like for egrep, several implementations objected to adding support for them as they would break backward compatibility (there was no similar problem for x,y in BREs as used by grep).



          w, d, D are perl regexp extensions which are generally not supported (busybox awk and gawk (when not in POSIX mode) support w). The standard equivalents would be [[:alpha:]_], [[:digit:]], [^[:digit:]] respectively, but are not supported by mawk yet¹.



          On Solaris, you'll want to use /usr/xpg4/bin/awk.



          With older versions of GNU awk, you had to use the --re-interval option, or start it with POSIXLY_CORRECT=anything in the environment for the regex intervals to be supported.



          With implementation that don't support them, you can use combinations of ?, + and *:




          • x1,3 -> xx?x? or (x|xx|xxx)


          • x1, -> x+


          • x0, -> x*


          • x3, -> xxx+ or xxxx*


          • x3,6 -> xxxx?x?x?

          • etc.


          ¹ anyway, mawk doesn't support localisation or multi-byte characters, so you might as well restrict to ASCII characters and use [_a-zA-Z], [0-9] and [^0-9]






          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%2f506119%2fhow-to-specify-regex-quantifiers-with-mawk%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









            1














            Interval regexp operators are supported in POSIX compliant awk implementations.



            But as awk initially didn't support them (neither did nawk nor mawk nor gawk), there are still several implementations that don't support them like mawk, the one true awk (originally maintained by Brian Kernighan, the k in awk) until a few days ago, Solaris /bin/awk, Solaris /bin/nawk, the awk of most BSDs.



            Like for egrep, several implementations objected to adding support for them as they would break backward compatibility (there was no similar problem for x,y in BREs as used by grep).



            w, d, D are perl regexp extensions which are generally not supported (busybox awk and gawk (when not in POSIX mode) support w). The standard equivalents would be [[:alpha:]_], [[:digit:]], [^[:digit:]] respectively, but are not supported by mawk yet¹.



            On Solaris, you'll want to use /usr/xpg4/bin/awk.



            With older versions of GNU awk, you had to use the --re-interval option, or start it with POSIXLY_CORRECT=anything in the environment for the regex intervals to be supported.



            With implementation that don't support them, you can use combinations of ?, + and *:




            • x1,3 -> xx?x? or (x|xx|xxx)


            • x1, -> x+


            • x0, -> x*


            • x3, -> xxx+ or xxxx*


            • x3,6 -> xxxx?x?x?

            • etc.


            ¹ anyway, mawk doesn't support localisation or multi-byte characters, so you might as well restrict to ASCII characters and use [_a-zA-Z], [0-9] and [^0-9]






            share|improve this answer





























              1














              Interval regexp operators are supported in POSIX compliant awk implementations.



              But as awk initially didn't support them (neither did nawk nor mawk nor gawk), there are still several implementations that don't support them like mawk, the one true awk (originally maintained by Brian Kernighan, the k in awk) until a few days ago, Solaris /bin/awk, Solaris /bin/nawk, the awk of most BSDs.



              Like for egrep, several implementations objected to adding support for them as they would break backward compatibility (there was no similar problem for x,y in BREs as used by grep).



              w, d, D are perl regexp extensions which are generally not supported (busybox awk and gawk (when not in POSIX mode) support w). The standard equivalents would be [[:alpha:]_], [[:digit:]], [^[:digit:]] respectively, but are not supported by mawk yet¹.



              On Solaris, you'll want to use /usr/xpg4/bin/awk.



              With older versions of GNU awk, you had to use the --re-interval option, or start it with POSIXLY_CORRECT=anything in the environment for the regex intervals to be supported.



              With implementation that don't support them, you can use combinations of ?, + and *:




              • x1,3 -> xx?x? or (x|xx|xxx)


              • x1, -> x+


              • x0, -> x*


              • x3, -> xxx+ or xxxx*


              • x3,6 -> xxxx?x?x?

              • etc.


              ¹ anyway, mawk doesn't support localisation or multi-byte characters, so you might as well restrict to ASCII characters and use [_a-zA-Z], [0-9] and [^0-9]






              share|improve this answer



























                1












                1








                1







                Interval regexp operators are supported in POSIX compliant awk implementations.



                But as awk initially didn't support them (neither did nawk nor mawk nor gawk), there are still several implementations that don't support them like mawk, the one true awk (originally maintained by Brian Kernighan, the k in awk) until a few days ago, Solaris /bin/awk, Solaris /bin/nawk, the awk of most BSDs.



                Like for egrep, several implementations objected to adding support for them as they would break backward compatibility (there was no similar problem for x,y in BREs as used by grep).



                w, d, D are perl regexp extensions which are generally not supported (busybox awk and gawk (when not in POSIX mode) support w). The standard equivalents would be [[:alpha:]_], [[:digit:]], [^[:digit:]] respectively, but are not supported by mawk yet¹.



                On Solaris, you'll want to use /usr/xpg4/bin/awk.



                With older versions of GNU awk, you had to use the --re-interval option, or start it with POSIXLY_CORRECT=anything in the environment for the regex intervals to be supported.



                With implementation that don't support them, you can use combinations of ?, + and *:




                • x1,3 -> xx?x? or (x|xx|xxx)


                • x1, -> x+


                • x0, -> x*


                • x3, -> xxx+ or xxxx*


                • x3,6 -> xxxx?x?x?

                • etc.


                ¹ anyway, mawk doesn't support localisation or multi-byte characters, so you might as well restrict to ASCII characters and use [_a-zA-Z], [0-9] and [^0-9]






                share|improve this answer















                Interval regexp operators are supported in POSIX compliant awk implementations.



                But as awk initially didn't support them (neither did nawk nor mawk nor gawk), there are still several implementations that don't support them like mawk, the one true awk (originally maintained by Brian Kernighan, the k in awk) until a few days ago, Solaris /bin/awk, Solaris /bin/nawk, the awk of most BSDs.



                Like for egrep, several implementations objected to adding support for them as they would break backward compatibility (there was no similar problem for x,y in BREs as used by grep).



                w, d, D are perl regexp extensions which are generally not supported (busybox awk and gawk (when not in POSIX mode) support w). The standard equivalents would be [[:alpha:]_], [[:digit:]], [^[:digit:]] respectively, but are not supported by mawk yet¹.



                On Solaris, you'll want to use /usr/xpg4/bin/awk.



                With older versions of GNU awk, you had to use the --re-interval option, or start it with POSIXLY_CORRECT=anything in the environment for the regex intervals to be supported.



                With implementation that don't support them, you can use combinations of ?, + and *:




                • x1,3 -> xx?x? or (x|xx|xxx)


                • x1, -> x+


                • x0, -> x*


                • x3, -> xxx+ or xxxx*


                • x3,6 -> xxxx?x?x?

                • etc.


                ¹ anyway, mawk doesn't support localisation or multi-byte characters, so you might as well restrict to ASCII characters and use [_a-zA-Z], [0-9] and [^0-9]







                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited Mar 13 at 17:06

























                answered Mar 13 at 16:44









                Stéphane ChazelasStéphane Chazelas

                311k57587945




                311k57587945



























                    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%2f506119%2fhow-to-specify-regex-quantifiers-with-mawk%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







                    -mawk, regular-expression

                    Popular posts from this blog

                    Frič See also Navigation menuinternal link

                    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

                    fontconfig warning: “/etc/fonts/fonts.conf”, line 100: unknown “element blank” The 2019 Stack Overflow Developer Survey Results Are In“tar: unrecognized option --warning” during 'apt-get install'How to fix Fontconfig errorHow do I figure out which font file is chosen for a system generic font alias?Why are some apt-get-installed fonts being ignored by fc-list, xfontsel, etc?Reload settings in /etc/fonts/conf.dTaking 30 seconds longer to boot after upgrade from jessie to stretchHow to match multiple font names with a single <match> element?Adding a custom font to fontconfigRemoving fonts from fontconfig <match> resultsBroken fonts after upgrading Firefox ESR to latest Firefox