join一对具有特定起点的线条

我知道用sed我可以打印

cat current.txt | sed 'N;s/\n/,/' > new.txt A B C D E F 

 A,B C,D E,F 

我想要做的是:

 A B C D E F 

 A,D B,E C,F 

我想join1与4,2与5,3与6,依此类推。 这可能与sed? 任何想法如何实现?

谢谢。

尝试在列中打印:

 pr -s, -t -2 current.txt 

这比我所希望的要长,但是:

 $ lc=$(( $(wc -l current.txt | sed 's/ .*//') / 2 )) $ paste <(head -"$lc" current.txt) <(tail -"$lc" current.txt) | column -t -o, 

变量lc存储current.txt的行数除以2。 然后使用headtail分别打印lclc最后一行(即文件的前半部分和后半部分); 然后使用paste将两者放在一起,并将column更改为逗号。

一个awk版本

 awk '{a[NR]=$0} NR>3 {print a[NR-3]","$0}' current.txt A,D B,E C,F 

如果您喜欢其他时间间隔,此解决方案很容易调整。
只要将NR>3NR-3更改为所需的数字即可。