谁能解释一下下面的 sed 命令如何打印段落?
命令:
sed -e '/./{H;$!d;}' -e 'x;/AAA/!d;' file
如果可能的话,任何人都可以通过将这个命令分成几部分来解释,这样我就可以完全理解如何根据不同的条件修改命令。
谁能解释一下下面的 sed 命令如何打印段落?
命令:
sed -e '/./{H;$!d;}' -e 'x;/AAA/!d;' file
如果可能的话,任何人都可以通过将这个命令分成几部分来解释,这样我就可以完全理解如何根据不同的条件修改命令。
命令
打印包含字符串的段落
AAA
。sed
这使用以下sed
脚本调用:注释版本:
因此,简而言之,它在“保持空间”(中的通用缓冲区
sed
)中逐行收集,当它找到空行(/./
模式不匹配)时,它会确定存储的行集合是否包含字符串AAA
如果是,则打印它。这也在此处的答案中进行了描述:GREP / SED 或 AWK:在模式匹配的文件中打印整个段落
给定文件
它将输出最后一段(带有前导空行)。
要摆脱每个输出段落之前的空行(如果这是您想要的),请使用
或者,在命令行上