Multiple search pattern

Hello :slight_smile:
I have this file

 
cat employee_list
Name : jack
Gender: m
ID : 4512
DOB : 03/27/1980 
hire date : 04/23/2012
Nationality: US
marital status : single
=====================
Name : mick
Gender: m
ID : 1256
DOB : 03/27/1970
Hire date : 012/10/2011
Nationality: US
Marital status : married
=====================
Name : jolly
Gender: F
ID : 14523
DOB : 03/27/1970
Hire date : 01/20/2009
Nationality: US
Marital status : married
=====================

can you please help me to use awk to extract a list of ID with Hire date and gender

 
output example
4512 M 04/23/2012
1256 M 012/10/2011
14523  F 01/20/2009

Thanks,
Sara

awk '/Gender/{g=$NF}/ID/{id=$NF}/[Hh]ire/{print id,g,$NF}' input_file

--ahamed

Thanks Ahamed
one problem , i fogot one thing, hire date line ends with time
i want to print only the date , $NF will print the time not date
Hire date : 01/20/2009 10:00

Use NF-1 in-place of NF:

awk '/Gender/{g=$NF}/ID/{id=$NF}/[Hh]ire/{print id,g,$(NF-1)}' file

Guru.

1 Like

Another awk

awk '/Gender/ {g=$NF;getline;i=$NF;getline;getline;print i,g,$4}' file
4512 m 04/23/2012
1256 m 012/10/2011
14523 F 01/20/2009
1 Like