从与rekx模式匹配的行中删除回车换行符与awk

Remove carriage return line feed from a line that match regex pattern with awk

我有以下情况,我想从下一行以某个模式开始的行中删除回车行馈送。在下面的情况下,"下一行"以"."开头,在"."前面有x个空格。我想删除前一行末尾的回车换行符,以及前面的空格。

1
2
Query.FieldByName('dataField')
        .AsString;

应用awk脚本后,代码应该如下所示

1
Query.FieldByName('dataField').AsString;

当做


我有这个:

1
2
awk '/^\s*\./{sub(/^\s*/,"");printf"%s",$0;next}
             {printf"%s%s",(NR==1?"":RS),$0}END{print""} ' file

例如:

1
2
3
4
5
6
7
8
9
10
kent$  cat f
foo
.bar
  .bar2
xyz
                .abc

kent$  awk '/^\s*\./{sub(/^\s*/,"");printf"%s",$0;next}{printf"%s%s",(NR==1?"":RS),$0}END{print""} ' f
foo.bar.bar2
xyz.abc