我想知道是否可以告诉awk在第一次遭遇后停止搜索模式1到模式2。因为我扫描的文件包含4 GB的文本,并且awk命令的每次重复都花了一分钟来计算,我必须做一百万次。一百万次。
我正在尝试优化的行是这样的:
awk "/MODEL ${j}/,/ENDMDL/" j=$j filename.pdb > outputfile.txt
提前感谢您的帮助
答案 0 :(得分:0)
使用awk
:
awk '/MODEL/,/ENDMDL/;/ENDMDL/{exit}' mybigfile
使用sed
:
sed -n '/MODEL/,/ENDMDL/p;/ENDMDL/q' mybigfile
答案 1 :(得分:0)
不要使用/ start /,/ end / pattern,当你需要做除基础知识以外的任何事情时,它只会让你的生活更加艰难。试试这个:
awk -v j="$j" '$0 ~ "MODEL " j{f=1} f; f&&/ENDMDL/{exit}' filename.pdb