使用Perl从行尾删除逗号到行首

时间:2010-08-15 21:36:41

标签: perl code-formatting

我继承了几十个看起来像这样的sql脚本:

select
    column_a,
    column_b,
    column_c
from
    my_table

要格式化它们以便它们与我们的sql库的其余部分匹配,我想将它们更改为如下所示:

select
    column_a
    ,column_b
    ,column_c
from
    my_table

其中逗号从行的开头而不是在结尾开始。我在Perl中接受了几次传递,但是还没能让它正常工作。

你们中的任何一位Perl神能在这里提供一些启示吗?

1 个答案:

答案 0 :(得分:5)

perl -pi.bak -0777 -wle's/,[^\n\S]*\n([^\n\S]*)/\n$1,/g' file1.sql file2.sql ...

字符类是任何非换行空格。 -0777使它对整个文件而不是行进行操作。