我有一个文件说 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
...尽管这确实在最后一个字符之后添加了逗号。好吧,它实际上最多执行四个尾随空字段加上最后一个逗号......
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'