使用sed删除最后一个逗号

时间:2010-12-29 09:10:56

标签: sed awk

我有一个文本文件,如果存在,我想删除最后一行的最后一个逗号。

a, b, c, d,
m, n, p,
x, y, z,
);

z之后的逗号只需删除。

2 个答案:

答案 0 :(得分:3)

尝试一下:

sed 'N;$s/,\n/\n/;P;D' inputfile

它从倒数第二行的末尾删除逗号。这假定在您显示的最后一行之后没有任何内容。

如果您需要键入该行的内容,那么这应该有效:

sed 'N;/)\;/s/,\n/\n/;P;D' inputfile

答案 1 :(得分:0)

您也可以使用awk执行此操作:

 awk 'l2{print l2} {l2=l1; l1=$0} END{sub(/,$/,"",l2); print l2 "\n" l1}' file