小编Err*_*404的帖子

使用 awk 查找具有特定 2 行模式的文件

我有数百个具有这种模式的文件

@<TRIPOS>ATOM
  2 H18 65.2220 Du 1 RES1 0.0000
@<TRIPOS>BOND
 1  3  5  ar
@<TRIPOS>SUBSTRUCTURE
Run Code Online (Sandbox Code Playgroud)

其中,有些文件缺少 后的行@<TRIPOS>BOND,它们看起来像

@<TRIPOS>ATOM
  2 H18 65.2220 Du 1 RES1 0.0000
@<TRIPOS>BOND
@<TRIPOS>SUBSTRUCTURE
Run Code Online (Sandbox Code Playgroud)

我试图在我的工作目录中找到所有在 之后缺少数字行的文件,@<TRIPOS>BOND并将它们移动到另一个目录。我知道这是一项简单的任务,但我对 Linux 还是很陌生。

注意:文件的长度和行号各不相同,这就是我在@<TRIPOS>BOND字符串后面“grepping”行的原因。

这是我的代码之一,我计划在 for 循环中编写。它不起作用,但我展示它是为了展示我的试验之一。

cat file | grep -A1 '@<TRIPOS>BOND' | awk 'FNR == 2 {print}'
Run Code Online (Sandbox Code Playgroud)

谢谢

command-line bash find awk

3
推荐指数
1
解决办法
2497
查看次数

标签 统计

awk ×1

bash ×1

command-line ×1

find ×1