我有如下的数据:
abcd join abcd efgh join efgh
我想连续两个连成一条线。 导致:
abcd join abcd efgh join efgh
我怎样才能在Perl / AWK中做到这一点?
$ sed 'N;s/\n/ /' input.txt abcd join abcd efgh join efgh
最简单的方法是:
paste - - < FILE
这加入使用空间,而不是一个选项卡:
paste -d" " - - < FILE
Perl的:
perl -pe's/\n/ / if $. % 2' file
高尔夫挑战:缩短5个字以上。
高尔夫挑战方案:
perl -pe'$.%2&&s/ / /' file
cat input | paste -sd' \n'
粘贴分隔符之间的交替,如果列表给出。
我的第一本能:
perl -lne 'if ($. % 2) { $last = $_; } else { print "$last $_" }'
稍微简洁的版本受@ kev的sed解决方案启发:
perl -lpe '$_ .= " " . <>; chomp'
但是我认为sed赢得了这一轮。
awk '{getline a; printf "%-s\n", $0 " " a}' file