Reputation: 321
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
Upvotes: 3
Views: 962
Reputation: 133518
Adding one more approach here, written and tested with shown samples in GNU awk
.
awk '{print val $0; val="OR "}' Input_file
With shown samples, output will be as follows.
line1
OR line2
OR line3
OR line4
Upvotes: 1
Reputation: 67497
sed
solution
$ sed '2,$s/^/OR /' file
starting second line insert "OR " at the beginning of each line.
Upvotes: 2
Reputation: 8711
Another awk
$ cat justin.dat
line1
line2
line3
line4
$ awk ' { printf("%s%s\n",sep,$0); sep="OR " } ' justin.dat
line1
OR line2
OR line3
OR line4
$
Upvotes: 1
Reputation: 785146
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.
Upvotes: 3