使用Perl将逗号从行尾移动到行的开头

Dat*_*onk 0 perl code-formatting

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

select
    column_a,
    column_b,
    column_c
from
    my_table
Run Code Online (Sandbox Code Playgroud)

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

select
    column_a
    ,column_b
    ,column_c
from
    my_table
Run Code Online (Sandbox Code Playgroud)

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

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

yst*_*sth 5

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

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