Re: sed regular expression help
Cameron Simpson <[email protected]> Sat, 23 May 2015 08:19:00 +1000
| Newsgroups | gmane.linux.redhat.general |
|---|---|
| Message-ID | <[email protected]> |
On 22May2015 14:56, Davis, Brent <[email protected]> wrote: >Yea sorry about that. My co-worker mentioned that the underlined wouldn't come through. > >The '+%D'` is what I had underlined. > >I thought I had tried the regex before and it didn't work. I just tried it again, and same thing. > >sed -e "s/\'\W%D\'\`//g;/skipping/d" > > >BEFORE.....: `date --date=2015-01-10 '+%D'` >AFTER......: `date --date=2015-01-01 '+%D'` 1: Please don't top post, and please trim the quoted material for relevance. 2: Please make clear what output you want after the sed command runs. The above seems to should a failed run (no change). Please give an example of what a successful run would do. 3: Inside double quotes the backslash is special. Use single quotes; they a re FAR more reliable when working with regexps on the comman line. If you need to use a single quote in the expression, leaves quotes, quote the single quote, return to quotes, eg: sed 's/foo'\''bar/foo-ach-bah/' which represents: s/foo'bar/foo-ach-bag/ inside sed. 4: You can put sed commands into a file, avoid all quoting issues. For example you can put the "raw" sed command(s) in a file "foo.sed" an go: sed -f foo.sed which avoids a lot of quoting pain. You also write: Like I said, I tested this on regexr.com, and either works no problem 5: Any regexp tester is VERY dependent on the flavour of regexp in use: basic regexps, full regexps, sed regexps (basic or full depending on options), perl compatible regexps, etc etc. They're great for finding logical errors, less so for subtle quoting or dialect errors. Cheers, Cameron Simpson <[email protected]> Don't have awk? Use this simple sh emulation: #!/bin/sh echo 'Awk bailing out!' >&2 exit 2 - Tom Horsley <[email protected]> -- redhat-list mailing list unsubscribe mailto:[email protected]?subject=unsubscribe https://www.redhat.com/mailman/listinfo/redhat-list