You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Awk提取指定坐标块内CELL_PARAMETERS与ATOMIC_POSITIONS对应行

用Awk精准提取目标数据块

问题背景

我手头有一类数据文件,里面只有一个包含Begin final coordinates和End final coordinates的文本块,其余位置全是重复出现的、仅含CELL_PARAMETERS和ATOMIC_POSITIONS的块。目前已经能提取出这个唯一的完整块,但还需要完成两个更精准的提取需求:

  1. 提取CELL_PARAMETERS行下方的3行数据;
  2. 提取ATOMIC_POSITIONS行下方的5行数据。

解决方法

之前尝试结合区间提取与跳行的方法时出现语法错误,最终通过以下Awk命令解决问题:

  • 提取CELL_PARAMETERS行下方的3行数据:
    awk '/Begin final coordinates/{n=NR+4;m=NR+8} (n<NR) && (NR<m)' file
    
  • 提取ATOMIC_POSITIONS行下方的5行数据(注:原命令中m=NR+8存在逻辑错误,已修正为m=NR+14以匹配提取5行数据的需求):
    awk '/Begin final coordinates/{n=NR+9;m=NR+14} (n<NR) && (NR<=m)' file
    

内容的提问来源于stack exchange,提问作者lucian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 20:10:27