例如:给定文件包含以下行:
awk
我正在尝试使用1,alpha,beta
2,charlie,delta
10,text,test
获得以下输出:
eval
答案 0 :(得分:1)
相当简单。使用输出记录分隔符,如下所示。当行号不能被3整除时指定逗号分隔符,否则指定换行符:
awk 'ORS=NR%3?",":"\n"' file
答案 1 :(得分:0)
awk可以通过操纵ORS
:
awk '{ORS=","} !(NR%3){ORS="\n"} 1' file
1,alpha,beta
2,charlie,delta
10,text,test
答案 2 :(得分:0)
有一种用于此类文本处理的工具pr
$ pr -3ats, file
1,alpha,beta
2,charlie,delta
10,text,test
答案 3 :(得分:0)
您也可以将xargs
与sed结合使用,将多行合并为一行,这对于了解以下内容非常有用:
cat file|xargs -n3|sed 's/ /,/g'