教えてもらったのでメモ。
% seq 9 | perl -pe 's/\n/,/ if $.%3'
1,2,3
4,5,6
7,8,9
% seq 9 | perl -lpe '$\=$.%3?",":"\n"'
改行を含んだ置換をする場合は、sedのかわりにperlを使うことを考えるとよい。
% seq 9 | ruby -pe 'gsub(/\n/,",") if $.%3!=0'
% seq 9 | ruby -lpe '$\=$.%3==0?"\n":","'
% seq 9 | awk '{ORS=NR%3?",":"\n";print}'
seq 9 | sed 'N;N;s/\n/,/g'
sedでリベンジ。数値指定じゃないけど…