Difference between revisions of "print string between two characters or strings"
From thelinuxwiki
Line 11: | Line 11: | ||
with sed: | with sed: | ||
− | $ echo "blah(foo)"|sed -n 's/.*(\([^ ]*\))/\1/p' | + | $ echo "blah(foo)ar"|sed -n 's/.*(\([^ ]*\))/\1/p' <<< not working!!! |
− | + | fooar | |
− | $echo " | + | $ echo "aaafoobbbar"|sed -n 's/.*aaa\([^ ]*\)bbb/\1/p' <<< not working!!! |
− | + | fooar | |
[[category:awk]] | [[category:awk]] | ||
[[category:sed]] | [[category:sed]] |
Latest revision as of 17:50, 4 December 2013
Howto print text between tags or characters with awk or sed
print the text between two tags/characters/strings.
$ echo "bla(foo)ar"|awk -F'[(|)]' '{print $2}' foo
$ echo "bla=@@foo@@"|awk -F'[@@|@@]' '{print $3}' foo
with sed:
$ echo "blah(foo)ar"|sed -n 's/.*(\([^ ]*\))/\1/p' <<< not working!!! fooar
$ echo "aaafoobbbar"|sed -n 's/.*aaa\([^ ]*\)bbb/\1/p' <<< not working!!! fooar