【问题标题】:want to merge two lines by removing beginning space from 2nd line想通过从第 2 行删除起始空间来合并两行
【发布时间】:2016-11-26 13:47:36
【问题描述】:

我的文件中有多行,想合并第一行和第二行,依此类推。将________ 视为第二行中的空格。

u_pcrd_logic/CTS_ccl_INV_clk_G1_L17_206                                         
________________________________2.001e+08       2.001e+08  0.0001773    0.001871   2.427e-07    0.002048     0.02934    INV_X6N_A9TL_C16

RC_CG_HIER_INST353/RC_CGIC_INST                                                 
______________________________2.001e+08       2.001e+08  0.0004888    0.001523    4.51e-07    0.002012     0.02882    PREICG_X6R_A9TL_C16

预期输出:

u_pcrd_logic/CTS_ccl_INV_clk_G1_L17_206     2.001e+08       2.001e+08  0.0001773    0.001871   2.427e-07    0.002048     0.02934    INV_X6N_A9TL_C16

RC_CG_HIER_INST353/RC_CGIC_INST     2.001e+08       2.001e+08  0.0004888    0.001523    4.51e-07    0.002012     0.02882    PREICG_X6R_A9TL_C16

谢谢。

【问题讨论】:

  • 你知道Vi and Vim 的存在吗?另外,请检查How to Ask
  • edit 使用编辑器{} 按钮更正格式并将所有不必要的空格替换字符替换为空格。

标签: awk sed grep vi


【解决方案1】:

您可以使用以下 spc.awk 脚本:

# spc.awk script

/^ / { #if the line starts with space
   lines=lines $0 # add the current line to the former recorded lines
   next 
}
{ # for every other line ...
   print lines # print the recorded lines 
   lines=$0 # record current line
}
END { print lines } # in the end print the last recorded lines

然后使用命令:

awk -f spc.awk your_input_file

【讨论】:

    【解决方案2】:

    又一个awk

    $ awk -v RS= -v ORS="\n\n" '{$1=$1}1' file
    
    u_pcrd_logic/CTS_ccl_INV_clk_G1_L17_206 2.001e+08 2.001e+08 0.0001773 0.001871 2.427e-07 0.002048 0.02934 INV_X6N_A9TL_C16
    
    RC_CG_HIER_INST353/RC_CGIC_INST 2.001e+08 2.001e+08 0.0004888 0.001523 4.51e-07 0.002012 0.02882 PREICG_X6R_A9TL_C16
    

    加入行,直到出现更多空行(记录中断),打印额外的空行。

    【讨论】:

      【解决方案3】:

      使用 sed:

      $ sed '$!N;/ *\n  */s//     /;P;D' file
      u pcrd logic/CTS ccl INV clk G1 L17 206     2.001e+08       2.001e+08  0.0001773    0.001871   2.427e-07    0.002048     0.02934    INV X6N A9TL C16
      
      RC CG HIER INST353/RC CGIC INST     2.001e+08       2.001e+08  0.0004888    0.001523    4.51e-07    0.002012     0.02882    PREICG X6R A9TL C16
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-12-12
        • 2020-10-03
        • 2020-11-10
        • 2023-03-09
        • 1970-01-01
        • 2019-10-20
        • 1970-01-01
        相关资源
        最近更新 更多