Shell 打印指定行或模式之间的文本,我们有时候可能需要根据某些条件打印文件的一部分,比如由指定行号或起止模式所匹配的文本范围。
预备知识
awk
、grep
和sed
都可以根据条件打印部分行。最简单的方法是使用grep
打印匹配模式的行。不过,最全能的工具还是awk
。
实战演练
要打印指定行或模式之间的文本,可以依照以下步骤。
(1) 打印从M
行到N
行之间的文本:
awk
也可以从stdin
处读取输入:
(2) 把M
和N
换成具体的数字:
(3) 打印位于模式start_pattern
与end_pattern
之间的文本:
例如:
awk
中使用的模式为正则表达式,本章内容可以参考awe 命令相关知识。