Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Apply awk to everything except for first line

Tags:

sed

awk

I'm looking to apply some awk processing to add the word "OR" to the beginning of each line, except for the first line. However, I'd still like the first line to print out.

Currently, I'm using the current command:

awk '$0="OR "$0' file.txt

This will give me the following output:

OR line1
OR line2
OR line3 etc

How can I get it so that it spits out the following?:

line1
OR line2
OR line3 etc
like image 959
Justin Lund Avatar asked Oct 19 '25 03:10

Justin Lund


2 Answers

You may use this awk:

awk 'NR > 1 {$0 = "OR " $0} 1' file

line1
OR line2
OR line3

Here NR > 1 condition will execute action block i.e. $0 = "OR " $0 for 2nd record onwards only but 1 will print all the rows.

like image 138
anubhava Avatar answered Oct 21 '25 05:10

anubhava


awk 'NR==1 {print} NR>1 {print "OR "$0}'
like image 40
blochsphere Avatar answered Oct 21 '25 03:10

blochsphere



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!