如何将这些行转换为每行一个?

时间:2012-01-11 05:38:38

标签: xml record

这个问题非常重要,因为我需要尽快向我的主管提供数据。

我有这种格式的记录列表:

Name
Date
Place

Name
Date
Place

我希望这些记录成为这样的一行:

Name,Date,Place
Name,Date,Place

如何通过轻松使用awk或sed在Linux下实现这一目标?

谢谢。

2 个答案:

答案 0 :(得分:2)

$ awk -v RS='' -v OFS=',' '$1=$1' data.txt
Name,Date,Place
Name,Date,Place
  • RS=''多行记录
  • OFS=','输出字段SEP ,
  • $1=$1强制重建字段

答案 1 :(得分:1)

使用Gnu AWK,您可以执行以下操作 -

gawk -v RS='\n\n' -v FS='\n' -v OFS=',' '{print $1,$2,$3}' file

测试:

[jaypal:~/Temp] cat file
Name
Date
Place

Name
Date
Place
[jaypal:~/Temp] gawk -v RS='\n\n' -v FS='\n' -v OFS=',' '{print $1,$2,$3}' file
Name,Date,Place
Name,Date,Place