从一次拍摄的文件列表中删除所有其他项目,留下所选项目

时间:2018-01-26 10:05:55

标签: awk sed grep

我有一个包含许多其他不需要的项目的文件我想自动删除它们,留下所需的数据

我有大约100个单元格,我只需要单元格名称以及这100个单元格的所有引脚和方向,并删除所有其他项目(lib文件中没有行41437)

grep -A 41435 'cell' lib | grep -iE '(cell|pin|direction)'

输出

cell( FVOXY_O_W11X ) {                                                                                                                                   
        pa_p ( vcc ) {                                                                                                                                        
          direction : input;                                                                                                                                    
        pb_p ( vss ) {                                                                                                                                        
          direction : input;                                                                                                                                    
  is_macro_cell : true;                                                                                                                                         
pin(measure) {                                                                                                                                          
        related_p_pin : x ;                                                                                                                               
        related_g_pin : y ;                                                                                                                              
        direction : inout ;                                                                                                                                     
        original :measure;                                                                                                                         
} /* end of pin measure */                                                                                                                              
pin(pass) {                                                                                                                                                   
        related_p_pin : x ;                                                                                                                               
        related_g_pin :y ;                                                                                                                              
        direction : input ;                                                                                                                                     
        original : pass;                                                                                                                                  
} /* end of pin pass */

我需要什么

cell( FOVIO_NOM_D2DSYNC8X )

pin(measure)
 direction : inout 

pin(pass)
direction : input

就像这样我有大约100个单元格我只想要单元格名称和那个单元格的所有引脚和方向可以任何人告诉我怎么可以

1 个答案:

答案 0 :(得分:0)

awk救援!

$ awk '/^cell/; /^pin/{print; p=1} p && /direction/{print; p=0}' file

会给你一行

cell( FVOXY_O_W11X ) {                                                                                                                                   
pin(measure) {                                                                                                                                          
        direction : inout ;                                                                                                                                     
pin(pass) {                                                                                                                                                   
        direction : input ; 

你可以在打印前进行一些过滤,以消除不需要的字符。

<强>解释

  

/^cell/;打印以&#34; cell&#34;

开头的行      

/^pin/{print; p=1}以&#34; pin&#34;开头的打印行并设置变量 p ,以便我们知道我们在&#34; pin&#34;上下文

     

p && /direction/{print; p=0}如果我们在&#34; pin&#34;上下文打印行有&#34;方向&#34;并重置 p 以从当前&#34; pin&#34;中退出上下文。