Reputation: 57
Hello i need a little help with my personal project i have something like this:
sourceFile:
something,something,something,something,something,someth ing,
something,something,something,something,something,somethi ng,
something,something,something,something,something,someth ing,
I need to write my variable after the last , in specific line (i have different value for every line)
resultFile:
something,something,something,something,something,someth ing,result1
something,something,something,something,something,somethi ng,result2
something,something,something,something,something,someth ing,result3
I used this:
sed -i "$numberOfLine,/,/ s/,/,$actualDeparture/6" $fileName
but the result is: badResultFile:
something,something,something,something,something,someth ing,result1
something,something,something,something,something,somethi ng,result2result1
something,something,something,something,something,someth ing,result3result2
I don't know why i have result2 and result1 in second line and i'm really desperate, because i don't know hoiw to fix this.
Upvotes: 2
Views: 645
Reputation: 15461
With your address range $numberOfLine,/,/
all lines starting from $numberOfLine
to next line containing ,
are processed.
And you don't need to count number of ,
in your s
command, just replace $
(end of line) with your variable value.
To process each line individually, try this:
sed -i "$numberOfLine s/$/$actualDeparture/" "$fileName"
Upvotes: 1
Reputation: 42017
I would use awk
:
awk '{ print $0 "result" NR }' sourceFile
print $0 "result" NR
prints each line, then string result
, and then each line (record) number (NR
)Example:
% cat file.txt
something,something,something,something,something,something,
something,something,something,something,something,something,
something,something,something,something,something,something,
% awk '{ print $0 "result" NR }' file.txt
something,something,something,something,something,something,result1
something,something,something,something,something,something,result2
something,something,something,something,something,something,result3
Upvotes: 3