Unix编程-删除2个单词之间的行

时间:2018-07-05 08:27:31

标签: awk sed

我有一个文件,我想删除()之间的一些行。

示例:

ABC
Bcd
Test(
Xyz
Pqr)
Lmn
Klm
Test(
Hij
Ijk)
Eric

我希望输出为

ABC
Bcd
Lmn
Klm
Eric

请帮助我得到这个。

3 个答案:

答案 0 :(得分:2)

第一个解决方案:

awk -v flag=1 '/\)/{flag=1;next} /\(/{flag=""} flag'   Input_file

第二个解决方案: 您也可以尝试使用sed

sed  '/(/,/)/d'  Input_file

答案 1 :(得分:1)

您可以尝试以下操作:

awk '/\(/,/\)/{next}1' input_filename

答案 2 :(得分:0)

awk '/\(/{f=1} !f; /\)/{f=0}' file