如何在bash shell中grep文件的一部分

pel

我该如何“ grep”出现在某些string1和(第N个)某些string2之间的线。

例如

如果文件包含以下行:

A
B
C
D
E

F
G
B
C
E

Q

我想以粗体显示行(以B开头并以E结尾的行)。

可以使用grep完成吗?或其他一些Unix命令行工具?

雷神

grep 不太适合此任务,您需要“升级”一个工具:

sed -n '/^B/,/^E/p' infile

输出:

B
C
D
E
B
C
E

关于第N个要求,如果您再次“升级”一个工具,即awk,我认为这是最简单的:

awk '/^B/ { f = 1; n++ } f && n == wanted; /^E/ { f = 0 }' wanted=2 infile

输出:

B
C
E

该标志f将在/^B/遇到时设置,而在/^E/出现时取消设置,与sed表示法的工作方式大致相同。n记录经过了多少个块,当f == 1 && n == wanted为true时,将执行默认块({ print $0 })。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在json文件中查找和替换值的一部分

如何在 Swift 中僅讀取文件的第一部分?

如何在Java中仅下载txt文件的一部分?

如何在模板文件中替换变量名的一部分

如何在ffmpeg中仅输入视频文件的一部分

如何在Python中复制二进制文件的一部分?

如何在Maven POM文件的一部分中对依赖项进行排序

如何在Perl中读取CSV文件的一部分

运行时如何在XML文件中附加xml的一部分?

如何在反应中仅导入一部分json文件?

如何在目录中查找知道名称一部分的文件

我如何在乳胶中显示日志文件的一部分

如何在 Python 中替換文件路徑的一部分

如何在Bash中获得http链接的最后一部分?

如何在 Linux 中使用 awk 或 grep 或 sed 命令将文件的一部分提取到单独的文件中

如何读取txt文件的一部分

如何读取dBase文件的一部分

如何提取xml文件的一部分

如何更新 netCDF 文件的一部分?

在bash中获取列表的一部分

您如何获得%INCLUDE一部分中的Lotusscript声明中引用的文件

如何从媒体文件中剪切最后一部分?

如何仅复制数组的一部分以在mex文件中输出?

如何修改文件中某行的一部分?

如何从目录中所有.txt文件中获取行的一部分?

如何在 Python 中的文本文件中提取部分图案线条的一部分?

如何在 bash shell 中使用查找结果作为正则表达式的一部分

如何在shell脚本中获取'/'分隔字符串的最后一部分

函数定义如何在POSIX Shell语法中成为管道序列的一部分?