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)