我有一个数据文件,格式如下
abc {u_bit_top/connect_down/u_FDIO[6]/u_latch}
ghi {u_bit_top/seq_connect/p_REDEIO[9]/ff_latch
def {u_bit_top/connect_up/shift_reg[7]
我希望在文件的每一行中搜索模式*bit_top*FDIO*
和*bit_top*REDEIO*
,如果找到模式,则删除整行。
def {u_bit_top/connect_up/shift_reg[7]
我使用sed像sed "/bit_top/d;/FDIO/d;/REDEIO/d;"
,但这删除了行有***bit_top***和***FDIO***和***REDEIO***分开。我如何才能搜索上述模式,并删除行包含它。 shell 或TCL任何将是有用的。
5条答案
按热度按时间hof1towb1#
因为你标记了tcl
导致
lsearch
documentation.但实际上您只需要grep
3vpjnl9f2#
你们一直很亲密!)
只需向sed输入一个与所需内容相匹配的正则表达式...
70gysomp3#
使用
sed
yfjy0ee74#
您可以按照以下方式使用GNU
AWK
完成此任务,让file.txt
内容那么
给出输出
说明:如果行包含
bit_top
AND(FDIO
ORREDEIO
),则转到next
行,即跳过它。如果未发生这种情况,则仅编辑print
行。2w3rbyxf5#
只需稍加修改,就可以在
sed
中实现复合模式(例如*bit_top*FDIO*
)。运算放大器电流
sed
的两个变化: