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?
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
add a comment |
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
add a comment |
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
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
regular-expression mawk
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
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
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+
orxxxx*
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]
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%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
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+
orxxxx*
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]
add a comment |
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+
orxxxx*
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]
add a comment |
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+
orxxxx*
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]
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+
orxxxx*
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]
edited Mar 13 at 17:06
answered Mar 13 at 16:44
Stéphane ChazelasStéphane Chazelas
311k57587945
311k57587945
add a comment |
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%2f506119%2fhow-to-specify-regex-quantifiers-with-mawk%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
-mawk, regular-expression