标题: 请教大家,如何将一个文件里的两行转换为一行? [打印本页] 作者: sunzhig 时间: 2003-04-04 12:02 标题: 请教大家,如何将一个文件里的两行转换为一行? 请教大家,如何将一个文件里的两行转换为一行?
如:a bb ccc
d ee fff
转换为 a bb ccc d ee fff?
谢谢!作者: aquino 时间: 2003-04-04 12:10 标题: 请教大家,如何将一个文件里的两行转换为一行? awk -F"\n" '{printf $1; getline; printf $1 "\n"}'作者: nkliyong 时间: 2003-04-04 12:35 标题: 请教大家,如何将一个文件里的两行转换为一行? awk '{printf;getline;printf}'作者: sunzhig 时间: 2003-04-04 12:40 标题: 请教大家,如何将一个文件里的两行转换为一行? 非常感谢,再进一步问,我的文件有一百多行,若每相邻两行合并为一行,又该怎摸办?谢谢!作者: nkliyong 时间: 2003-04-04 12:47 标题: 请教大家,如何将一个文件里的两行转换为一行? awk '{printf;getline;printf "\n"}'作者: sunzhig 时间: 2003-04-04 12:55 标题: 请教大家,如何将一个文件里的两行转换为一行? 我用
more filename |awk '{printf;getline;printf "\n"}'
只打印出所有的第二行,为甚摸?谢谢!作者: didikei 时间: 2003-04-04 12:56 标题: 请教大家,如何将一个文件里的两行转换为一行? vi 里
:g/^/j作者: sunzhig 时间: 2003-04-04 13:05 标题: 请教大家,如何将一个文件里的两行转换为一行? 谢谢大家,这里的氛围真的很好!
我用
more filename |awk '{print $0;getline;print $0"\n"}'
可印出所有行,但行没有合并,为甚摸?谢谢!作者: nkliyong 时间: 2003-04-04 14:06 标题: 请教大家,如何将一个文件里的两行转换为一行? 可以这样理解awk中print函数输出结束自动换行
而printf不换行.作者: sunzhig 时间: 2003-04-04 14:25 标题: 请教大家,如何将一个文件里的两行转换为一行? ok!
use more filename |awk '{printf $0;getline;printf $0"\n"}' it's ok
but
"more filename |awk '{print $0;getline;print $0"\n"}' "
or
"more filename |awk '{printf;getline;printf"\n"}' "
can not give the correct result
thanks all作者: sunzhig 时间: 2003-04-04 14:39 标题: 请教大家,如何将一个文件里的两行转换为一行? 顺便再问一下,如果有两个文件:
filea
a bb ccc
d ee fff
fileb
a 11 222
d 33 444
两个文件的每一行的第一列相同
我要得到filec
a bb ccc a 11 222
d ee fff d 33 444
可以这样:
more fileb>>filea
more filea|sort -rn +1>filed
more filed|awk '{printf $0;getline;printf $0}'>filec
得到结果
有没有更好的方法,不用合并文件,直接比较两个文件然后进行对应行的合并呢?作者: sunzhig 时间: 2003-04-04 14:41 标题: 请教大家,如何将一个文件里的两行转换为一行? 顺便再问一下,如果有两个文件:
filea
a bb ccc
d ee fff
fileb
a 11 222
d 33 444
两个文件的每一行的第一列相同
我要得到filec
a bb ccc a 11 222
d ee fff d 33 444
可以这样:
more fileb>>filea
more filea|sort -rn +1>filed
more filed|awk '{printf $0;getline;printf $0}'>filec
得到结果