ubuntu 如何使用 GREP 命令提取 GREP 行的下一行

我有文本文件(整个文件的特定部分);!        lat             long          elev (m) !      44.5199005      11.6468000       50.4276

我需要提取第二行并将它们保存在另一个文本文件中。数字是可变的和“!” 文中也多次出现语法。对于第一行,“!”之间总是有 8 个空格。和“纬度”,但第二行的情况并非如此。是否有任何命令可以让我在之后提取下一行grep "! lat" text

您可以使用 grep -A1 'expression'

从手册:-A num --after-context=num     Print num lines of trailing context after matching lines.

在你的情况下:grep -A1 "!        lat" foo | grep -v "!        lat"

应该只提取第二行。

注意:

您可以使用grep -P '^! {8}lat'而不是键入 many 。这不太容易出错。该-P标志启用 perl 样式的正则表达式,并且{8}('{' 之前有一个空格)正好匹配 8 个空格。

(0)

相关推荐