I\'m getting totally lost in shell programming, mainly because every site I use offers different tool to do pattern matching. So my question is what tool to use to do simple pat
1.
zoul@naima:etc$ cat named.conf | grep zone
zone "." IN {
zone "localhost" IN {
file "localhost.zone";
zone "0.0.127.in-addr.arpa" IN {
2.
zoul@naima:etc$ cat named.conf | grep ^zone
zone "." IN {
zone "localhost" IN {
zone "0.0.127.in-addr.arpa" IN {
3.
zoul@naima:etc$ cat named.conf | grep ^zone | sed 's/.*"\([^"]*\)".*/\1/'
.
localhost
0.0.127.in-addr.arpa
The regexp is .*"\([^"]*\)".*
, which matches:
.*
"
\(
[^"]*
\)
"
.*
When calling sed
, the syntax is 's/what_to_match/what_to_replace_it_with/'
. The single quotes are there to keep your regexp from being expanded by bash
. When you “remember” something in the regexp using parens, you can recall it as \1
, \2
etc. Fiddle with it for a while.