我想删除两个图案之间的线条,但保留第二个图案中的线条。例如对于使用的文件MATER / 4401001 302
and /
作为模式:
$# IDMAT MATYP RHO ISINT ISHG ISTRAT IFROZ
MATER / 4401001 302 0 0 0
$# BLANK QVM IDMPD
0
$# TITLE
NAME PLINK Material
$# SLFACM FSNVL DELTNL STNOR STTAN IFLGC BLANK TLSTIF
0.1 0
$# I3DOF TOLCOR IDRUP
0 1. 0
$---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
$# IDMAT MATYP RHO ISINT ISHG ISTRAT IFROZ
MATER / 4401005 103 2.753E-6 0 4
我想得到:
$# IDMAT MATYP RHO ISINT ISHG ISTRAT IFROZ
MATER / 4401005 103 2.753E-6 0 4
我尝试使用以下代码来做到这一点:
awk 'BEGIN{p=1} /MATER \/ 4401001/ {p=0} /\// {p=1} p' llink1.inc > llink2.inc
但它在我的 CentOS 上不起作用 - 这两个文件llink1.inc
and llink2.inc
是相同的。
你能帮忙吗。谢谢
your sed线很近:
sed '/line 1/,/line 2/{/line 2/!d}' file
test
kent$ echo "bla bla
line 1
bla bla
gov gov
line 2
bla bla
bla bla"|sed '/line 1/,/line 2/{/line 2/!d}'
bla bla
line 2
bla bla
bla bla
与相同的想法awk:(适用于相关示例)
awk '/line 1/,/line 2/{if(!/line 2/)next}7' file
同样的例子:
kent$ (master|✚9) echo "bla bla
line 1
bla bla
gov gov
line 2
bla bla
bla bla"|awk '/line 1/,/line 2/{if(!/line 2/)next}7'
bla bla
line 2
bla bla
bla bla
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)