您好我的个人项目需要一点帮助我有这样的事情:
的资源文件:
something,something,something,something,something,someth ing,result1
something,something,something,something,something,somethi ng,result2
something,something,something,something,something,someth ing,result3
我需要在最后一行之后编写我的变量,在特定行(我的每行有不同的值)
resultFile:
sed -i "$numberOfLine,/,/ s/,/,$actualDeparture/6" $fileName
我用过这个:
something,something,something,something,something,someth ing,result1
something,something,something,something,something,somethi ng,result2result1
something,something,something,something,something,someth ing,result3result2
但结果是: badResultFile:
{{1}}
我不知道为什么我有结果2和结果1在第二行,我真的 绝望,因为我不知道如何解决这个问题。
答案 0 :(得分:3)
我会使用awk
:
awk '{ print $0 "result" NR }' sourceFile
print $0 "result" NR
打印每一行,然后打印字符串result
,然后打印每行(记录)编号(NR
)示例:强>
% 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
答案 1 :(得分:0)
使用您的地址范围$numberOfLine,/,/
,处理从$numberOfLine
到包含,
的下一行的所有行。
并且您不需要计算,
命令中s
的数量,只需将$
(行尾)替换为您的变量值。
要单独处理每一行,请尝试以下操作:
sed -i "$numberOfLine s/$/$actualDeparture/" "$fileName"