A reader of Learning Unix for Mac OS X Panther writes in to ask for an explanation of the regular expression shown in this command:
du -s * .[^.]*
This regular expression is easily understood if you remember that to exclude a character from an expression you need to negate it with the ^, but to do that, you need to set off what you’re negating from the rest of the expression – the [ ] part.
So now you should be able to see that the expression matches all files or directories that begin with a dot but don’t have a dot as their second character, followed by zero or more characters.
In essence, this regular expression matches any dot files other than ‘..’.
If this seems overwhelming and you’re still quite interested in learning more about regular expressions, there’s a very good book from O’Reilly about regular expressions called Mastering Regular Expressions. It’s not poolside reading, but it’ll get you to the next level.
My dataset has a column with a numeric code (25xx). I use RegEx to remove specific data that fall outside a numeric code range 25xx – 25xx. As long as the number values are in a 4 digit format everything works fine, but some datasets have all of the numeric codes with a hyphen (-) Ex. 25-21, 25-66. I need to remove the hyphen so the RegEx works correctly, but can’t seem to get the right RegEx to do this.
IT SAYS THAT INTERNET BROWSER DO NOT START ON SETTINGS SO HOW DO I CHANGE IT
bash does NOT use regular expressions. Bash uses FILE GLOBS (see section “Pattern Matching” in bash).
Sharon Robinson
New interesting theme
Sharon Robinson
New interesting theme
Sharon Robinson
New interesting theme
but should’t
du .[^.]*
mean
‘.’
followed by
anything not a ‘.’
followed by 0 or more of
anything not a ‘.’
yet it hits for .a.b.c
why does [^.]* mean “not a dot” followed by “0 or more of any char”, rather than
“not a dot” followed by “0 or more or the preceding (which was “not a dot”)”
can you please email me the regular expression that can limit the occurances of the same number for eg.
if you are limiting the maximum occurance to 3 then no number can repeat more than thrice in the string
eg. 1122338765 should be valid
but 1122224564 should not not be valid