You're viewing a comment by Peter Krumins and its responses.

February 21, 2009, 01:28

Hey Augusto. Now that I look at one-liner #8, it looks pretty ridiculous. But I didn't write it.

If I wrote it, here is how it would look:

awk '{ print ++a, $0 }'

At every line increment variable a, and output it together with the line itself.

The explanation of the original one liner is this:

Every line gets read in variable $0. The one-liner modifies this $0. It appends the contents of variable 'a' to the beginning of $0. But before appending 'a' it gets incremented by one by ++ unary operator.

Comment Responses

kyaw Permalink
April 12, 2011, 06:10

Hi
if code goes like as awk '{ print ++a, $0 }', line numbering included blank lined. But code goes awk 'NF {$0=++a ": " $0}; {print}' that will be add line number to non-blank line.

NF {$0=++a ": " $0} = There must have one field at lease to increase number to var "a" else no action or not take as record for blank line, same time $0 (whole NR ) will become as [var a : ORG_LINE] then print again with all (whole line which newly create include var a value) by print statement after ; .

kyaw Permalink
April 12, 2011, 06:12

Correction : ---
if code goes like as awk '{ print ++a, $0 }', line numbering included blank lined. But code goes awk 'NF {$0=++a ": " $0}; {print}' that will be add line number only to non-blank line. Blank will not get line number.

NF {$0=++a ": " $0} = There must have one field at lease to increase number to var "a" else no action or not take as record for blank line, same time $0 (whole NR ) will become as [var a : ORG_LINE] then print again with all (whole line which newly create include var a value) by print statement after ; .

Reply To This Comment

(why do I need your e-mail?)

(Your twitter handle, if you have one.)

Type the word "0day_92": (just to make sure you're a human)

Please preview the comment before submitting to make sure it's OK.