Kar*_*ath 11
在这里,用sed:
sed '$!N;s/\n/,/'
Run Code Online (Sandbox Code Playgroud)
和awk:
awk '{if (e) {print p","$0;} else {p=$0;} e=!e;}'
Run Code Online (Sandbox Code Playgroud)
要么
awk 'NR%2==0 {print p","$0;} NR%2 {p=$0;}'
Run Code Online (Sandbox Code Playgroud)
这是paste命令的用途:
process_to_produce_output | paste -d, - -
Run Code Online (Sandbox Code Playgroud)
例:
$ paste -d, - - <<END
> Line one,csv,csv,csv
> Line two,csv,csv
> Line three,csv,csv,csv,csv
> Line four,csv
> END
Line one,csv,csv,csv,Line two,csv,csv
Line three,csv,csv,csv,csv,Line four,csv
Run Code Online (Sandbox Code Playgroud)
Perl 的内置变量$. 会告诉你行号。$. % 2如果1是$.奇数,则为奇数,0否则为。这是一个独立的示例;
#!/usr/bin/perl
use strict; use warnings;
my $buffer;
while (my $line = <DATA>) {
if ($. % 2) {
chomp $line;
$buffer = $line;
}
else {
print join(",", $buffer, $line);
}
}
__DATA__
Line one,csv,csv,csv
Line two,csv,csv
Line three,csv,csv,csv,csv
Line four,csv
Run Code Online (Sandbox Code Playgroud)
输出:
C:\Temp> tt 第一行,csv,csv,csv,第二行,csv,csv 第三行,csv,csv,csv,csv,第四行,csv