gawk - parse space separated text file using awk -
can please me parsing using awk?
sorry don't have code input space separated text file ( file has few more fields in item lines)
category fruits item id 8837878 item id 8837879 item id 8837880 item id 8837881 item id 8837882 item id 8837883 item id 8837884 item id 8837885 item id 8837886 item id 8837887 item id 8837888 item id 8837889 category veg item id 8837890 item id 8837891 item id 8837892 item id 8837893 item id 8837894 item id 8837895 item id 8837896 item id 8837897 required tab separated output file
fruits item id 8837878 fruits item id 8837879 fruits item id 8837880 fruits item id 8837881 fruits item id 8837882 fruits item id 8837883 fruits item id 8837884 fruits item id 8837885 fruits item id 8837886 fruits item id 8837887 fruits item id 8837888 fruits item id 8837889 veg item id 8837890 veg item id 8837891 veg item id 8837892 .....
one way awk:
$ awk '/^category/{c=$3}/^item/{print c,$0}' file fruits item id 8837878 fruits item id 8837879 fruits item id 8837880 fruits item id 8837881 fruits item id 8837882 fruits item id 8837883 fruits item id 8837884 fruits item id 8837885 fruits item id 8837886 fruits item id 8837887 fruits item id 8837888 fruits item id 8837889 veg item id 8837890 veg item id 8837891 veg item id 8837892 veg item id 8837893 veg item id 8837894 veg item id 8837895 veg item id 8837896 veg item id 8837897 to format output how need can use printf:
$ awk '/^category/{c=$3}/^item/{printf "%s %s %s %d\n",c,$1,$2,$3}' file so tab separated output maybe mean:
$ awk '/^category/{c=$3}/^item/{printf "%s %s %s\t%d\n",c,$1,$2,$3}' file
Comments
Post a Comment