我正在寻找一个shell命令来删除两行中一行的返回战车。 我有这样一个文件:
1.32640997
;;P
1.14517534
;;P
1.16120958
;;P
...
我想要这样的事情:
1.32640997;;P
1.14517534;;P
1.16120958;;P
...
有可能吗? 感谢
答案 0 :(得分:3)
paste
paste -d '' - - < file
paste
paste -d '\0' - - < file
paste
从stdin生成两列,其中- -
为参数,3列为- - -
作为参数,依此类推。
-d
用于指定列分隔符,使用'\0'
表示没有分隔符。
perl -ne 'chomp($prev = $_); print $prev, scalar <>' < file
答案 1 :(得分:2)
$ awk '{printf "%s%s",$0,(NR%2==0?ORS:"")}' File
1.32640997;;P
1.14517534;;P
1.16120958;;P
打印每一行,后面没有奇数行,或者后面是偶数行的输出记录分隔符。
这可以通过成对阅读来实现:
$ sed 'N; s/\n//' File
1.32640997;;P
1.14517534;;P
1.16120958;;P
N
读取下一行,s/\n//
删除换行符。
答案 2 :(得分:0)
使用xargs:
xargs -n 2 -d '\n' printf '%s%s\n' <file