有没有一种方法可以创建一个bash脚本来打印出特定的段落,即在空白行之间打印出特定的文本块?

时间:2019-04-28 21:46:01

标签: bash

处理一个脚本,该脚本读取文本文件并根据输入重定向出一个段落。假设输入为2,它将文本文件中的第二段重定向到另一个文件。文本文件没有标题,它们是纯文本段落,由空行分隔。我一直在看egrep,但是我对regex不太熟悉,所以我不确定从哪里开始。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

使用GNU awk,此功能

print_nth_paragraph() {
    awk -v RS= -v p="$1" 'NR == p'
}

将打印其标准输入的第N段,N是第一个也是唯一的参数。段落由两个或多个连续的新行分隔。使其适应您的需求。