我知道用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
我希望加入1加4,2加5,3加6等等。 这可能与sed有关吗?知道如何实现它吗?
谢谢。
答案 0 :(得分:7)
尝试在列中打印:
pr -s, -t -2 current.txt
答案 1 :(得分:0)
这比我希望的要长,但是:
$ lc=$(( $(wc -l current.txt | sed 's/ .*//') / 2 ))
$ paste <(head -"$lc" current.txt) <(tail -"$lc" current.txt) | column -t -o,
变量lc
存储current.txt
中的行数除以2。然后head
和tail
分别用于打印lc
第一行和lc
最后一行(即文件的第一半和第二半);然后使用paste
将两者放在一起,并将column
更改标签设置为逗号。
答案 2 :(得分:0)
awk
版本
awk '{a[NR]=$0} NR>3 {print a[NR-3]","$0}' current.txt
A,D
B,E
C,F
如果您喜欢其他间隔,此解决方案很容易调整
只需将NR>3
和NR-3
更改为所需的号码。