I have a file that looks like this:
1:line1
14:line2
135:line3
15:line4
I need to prepend leading zeros to each line to make it look like this:
00001:line1
00014:line2
00135:line3
00015:line4
Is there an easy way to do this in Linux?
I have tried using
awk '{printf "%05d:%s\n", FNR, $0}' file
but this outputted:
00001:1:line1
00002:14:line2
00003:135:line3
00004:15:line4
I should note I did not write this command, I got it from Google and don't really understand how it works
There are many ways, one way is to use
awkTo break it down:
-F":"set the field seperator to ":",awkwill split the lines into columns for each:.OFS=FSset the output field separator to the field separator, this essentially puts ":" back into each line when we output it.$1 = sprintf("%05d", $1)set the first column,$1, to be itself padded with 0's and of length 5.printprint the line.