使用unix命令在一行中连接2行

时间:2016-10-20 21:42:09

标签: unix

我想在一个中连接两行。假设我有这样的数据,

PK26338
565
PK27876
574
PK13472
546
PK03604
540

希望使用制表符分隔的格式。

PK26338    565
PK27876    574
PK13472    546
PK03604    540

使用unix命令最有效的方法是什么?

2 个答案:

答案 0 :(得分:0)

$ perl -ne 'if (/^PK/) {chomp; print "$_\t"}else{print}' file
PK26338    565
PK27876    574
PK13472    546
PK03604    540

答案 1 :(得分:0)

在这种情况下,

paste最简单,效率最高:

paste -d '\t' - - < file
  • -d '\t'告诉paste使用\t(标签)字符加入输入行
  • - -告诉paste从stdin读取输入行的-按惯例用于表示stdin而不是文件名。)< / LI>
  • < file通过stdin(标准输入)将输入文件file发送到paste

实际上,该命令从file读取行的,并连接每对的行,用制表符分隔,以形成单个输出行。