Difference between revisions of "print string between two characters or strings"

From thelinuxwiki
Jump to: navigation, search
Line 3: Line 3:
 
print the text between two tags/characters/strings.
 
print the text between two tags/characters/strings.
  
  $ echo "bla(foo)"|awk -F'[(|)]' '{print $2}'
+
  $ echo "bla(foo)ar"|awk -F'[(|)]' '{print $2}'
 
  foo
 
  foo
  

Revision as of 17:48, 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)"|sed -n 's/.*(\([^ ]*\))/\1/p'
foo
$echo "aaafoobbb"|sed -n 's/.*aaa\([^ ]*\)bbb/\1/p'
foo