【问题标题】:Remove carriage return line feed from a line that match regex pattern with awk从与 awk 匹配正则表达式模式的行中删除回车换行
【发布时间】:2014-06-19 16:30:52
【问题描述】:

我有以下情况,我想从下一行以特定模式开始的行中删除回车换行。
在下面的情况下,“下一行”以“。”开头。 “。”前面有 x 个空格
我想删除前一行末尾的回车换行符,以及“。”前面的空格

Query.FieldByName('dataField')
        .AsString;

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

Query.FieldByName('dataField').AsString;

问候

【问题讨论】:

    标签: regex awk


    【解决方案1】:

    我有这个:

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

    例如:

    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
    

    【讨论】:

      猜你喜欢
      • 2017-11-13
      • 1970-01-01
      • 1970-01-01
      • 2014-09-15
      • 1970-01-01
      • 1970-01-01
      • 2018-01-15
      • 1970-01-01
      • 2014-06-13
      相关资源
      最近更新 更多