【问题标题】:I want to remove newline character if the line not start with a space by unix command如果行不是以空格开头,我想通过 unix 命令删除换行符
【发布时间】:2022-11-24 17:37:47
【问题描述】:

输入:

 NOR2X2 U68695 
(n102890)
 AO21X4 U68696 ( .
A0(mbw4[84])
311)

输出:

 NOR2X2 U68695 (n102890)
 AO21X4 U68696 ( .A0(mbw4[84])311)

【问题讨论】:

  • 您发布的文本是源代码还是输入? (抱歉,我不知道 unix-ar)请正确格式化您的帖子并详细描述您的问题。

标签: bash


【解决方案1】:

这是一个 awk 来做到这一点:

awk '/^[[:space:]]/{if (s) print s; s=$0; next}
{s=s $0}
END{ print s }' file 

或者一个 perl:

perl -0777 -lpE 's/(^h[sS]*?)(?=^h|Z)/$1=~s|
||gr."
"/gme' file

要么打印:

 NOR2X2 U68695 (n102890)
 AO21X4 U68696 ( .A0(mbw4[84])311)

【讨论】:

    【解决方案2】:

    OAI211X1 U77573 ( .A0(n115987) NAND2X2 U77574 ( .A(n113218), NAND2X2 U77575 ( .A( n113223), .B(n115976), .Y(n115988) ); AOI21X1 U77576 ( .A0(n117247), .A1(n 117197), .B0(n117211), .Y(n117200) ); OAI21X1 U77577 ( .A0(n117214), .A1(n117193), .B0(n117248), .Y(n117197) );

    【讨论】:

      猜你喜欢
      • 2012-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-17
      • 1970-01-01
      • 2019-10-27
      • 2013-04-10
      • 2021-09-15
      相关资源
      最近更新 更多