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

问题描述 投票:2回答:1

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

bash
1个回答
1
投票

使用GNU awk,这个功能

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

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

© www.soinside.com 2019 - 2024. All rights reserved.