ablog

不器用で落着きのない技術者のメモ

テキストファイルの全ての行をカンマで繋げるPerlワンライナー

私のお気に入り「テキストファイルの全ての行をカンマで繋げる sed スクリプト」: $ sed ':;N;s/\n/,/;b' 〇〇.txt (たった14文字だけで、他の言語の if文・while 文・文字列置換を表せるのだ)

Twitter. It's what's happening.

これは短い。
ちょっとやってみる。

% perl -e 'printf qq/%010d\n/,$_ for(1..10)' > hoge.txt
% cat hoge.txt                                                                                               
0000000001
0000000002
0000000003
0000000004
0000000005
0000000006
0000000007
0000000008
0000000009
0000000010
% sed ':;N;s/\n/,/;b' hoge.txt
0000000001,0000000002,0000000003,0000000004,0000000005,0000000006,0000000007,0000000008,0000000009,0000000010

おぉ。


Perl ワンライナーでやってみる。

% perl -pe 'eof or s/\n$/,/' hoge.txt                                                                       
0000000001,0000000002,0000000003,0000000004,0000000005,0000000006,0000000007,0000000008,0000000009,0000000010

てけとーだけど、とりあえずでけた。