bash - Add prefix to every line shell -


i have input file

input:

aaa_bbbbbbbbb aaaa_bbbbbb aa_hhhhhh 

and need output:

aaa_1 aaa_bbbbbbbbb aaaa_2 aaaa_bbbbbb aa_3 aa_hhhhhh 

i.e characters till _ , line number in every line.

i have script file:

#!/bin/bash file="/export/home/rachit.singla/f1.txt" while read line    grep $line uniqfiles.txt| sed "s/./$line    /"| sed 's/ /_/' >>./final.txt; done< "$file" 

output:

aaa_ aaa_bbbbbbbbb aaaa_ aaaa_bbbbbb aa_ aa_hhhhhh 

how add numbers?

it more straight forward use awk:

$ awk -f_ '{print $1""fs""nr, $0}' file aaa_1 aaa_bbbbbbbbb aaaa_2 aaaa_bbbbbb aa_3 aa_hhhhhh 

or, bit nicer:

awk -f_ '{printf "%s%s%d %s\n", $1, fs, nr, $0}' 

that is, set _ field separator , print first field followed field separator , line number. then, space , full line.


Comments