I have data in the following format:
.......{INFO1}.....[INFO2]....
For awk
it should be really simple to pick up the INFO1
and INFO2
parts, but I'm really struggling with it.
I have managed to get the [INFO2]
part by using awk -F'[][]' '{ print $2 }'
but the INFO1
just will not match for me.
How do I specify {}
as delimiters?
Just use [][{}]
to define that you can use either of these: [
, ]
, {
or }
as field separators
awk -F"[][{}]" '{print ...}' file
In general, you say -F"[PATTERNS]"
.
$ echo ".......{INFO1}.....[INFO2]...." | awk -F"[][{}]" '{print $2}'
INFO1
$ echo ".......{INFO1}.....[INFO2]...." | awk -F"[][{}]" '{print $4}'
INFO2
You just have to add {}
to the field separator:
~$ echo ".......{INFO1}.....[INFO2]...." | awk -F'[][{}]' '{print $2,$4}'
INFO1 INFO2
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With