次のデータを含むFILE1.txtというファイルがあります。
A
B
C
D
E
F
G
H
I
J
K
L
FILE2などの他のファイルからの出力が必要です。
'A', 'B', 'C', 'D', 'E',
'F', 'G', 'H', 'I', 'J',
'K', 'L'
注: - 新しい行は、カンマ付きの最後の文字以降ではなく、5文字ごとに開始する必要があります。
答え1
xargs printf "'%s', '%s', '%s', '%s', '%s',\n" <in >out
...最後の文字の後にカンマが追加されますが。実際には、最大4つの末尾の空のフィールドと最後のコンマを実行します。
sed -e:n -e'$!N;s/\n/&/4;to' -e$\!bn <in >out \
-e:o -e"s//', '/g;s/.*/'&',/;$"s/,$//
^本当はそうではありません。
答え2
perl -p0e 's/.+/"$&",/g; s/,\n$//; s/\n/++$i%5?" ":"\n"/ge'