File in content is
safwan@hello:~/linx$ cat 5.txt
Name age address email
safwan 25 India safwan@gmail.com
Ajmal 23 India ajmal@gmil.com
Apply a condition
awk '$2==25 {print}' 5.txt
output is
safwan@hello:~/linx$ awk '$2==25 {print}' 5.txt
safwan 25 India safwan@gmail.com
But I need also the first row
I expect the output is like
Name age address email
safwan 25 India safwan@gmail.com
You can evaluate if NR == 1 or your actual condition to get the header row with your data row:
awk 'NR == 1 || $2 == 25' 5.txt
Besides there is no need to use {print} as that is the default action in awk.