ajr*_*chm 2 awk regular-expression
您好,希望在匹配第一次出现的字符串后提取 N 行,使用 awk 打印后面的 N 行。该字符串在我正在处理的文件中重复多次。我尝试过使用这个命令:
\n'c&&c--;/XCHT/{c=10}'
这将打印匹配的所有事件 + 10 行。经过大量搜索后,我看到了该命令的各种版本,但所有版本都产生与下面大致相同的结果。我环顾四周才发现。我想要一些关于如何修改此命令以实现结果的提示
\n我希望达到的比赛结果如下
\n| XCHT | |\n|-----------------|----|\n| \xe6\x9f\xb4\xe8\x83\xa1chaihu | 24 |\n| \xe9\xbb\x84\xe8\x8a\xa9huangqin | 9 |\n| \xe6\xb3\x95\xe5\x8d\x8a\xe5\xa4\x8fbanxia | 12 |\n| \xe7\x94\x9f\xe5\xa7\x9cshengjiang | 9 |\n| \xe5\x88\xba\xe4\xba\x94\xe5\x8a\xa0ciwujia | 9 |\n| \xe5\xa4\xa7\xe6\x9e\xa3dazao | 6 |\n| \xe7\x82\x99\xe7\x94\x98\xe8\x8d\x89zhigancao | 9 |\n| | |\n| | |\n\nRun Code Online (Sandbox Code Playgroud)\n该文件的一部分如下所示:
\n## XCHT\n| XCHT | |\n|-----------------|----|\n| \xe6\x9f\xb4\xe8\x83\xa1chaihu | 24 |\n| \xe9\xbb\x84\xe8\x8a\xa9huangqin | 9 |\n| \xe6\xb3\x95\xe5\x8d\x8a\xe5\xa4\x8fbanxia | 12 |\n| \xe7\x94\x9f\xe5\xa7\x9cshengjiang | 9 |\n| \xe5\x88\xba\xe4\xba\x94\xe5\x8a\xa0ciwujia | 9 |\n| \xe5\xa4\xa7\xe6\x9e\xa3dazao | 6 |\n| \xe7\x82\x99\xe7\x94\x98\xe8\x8d\x89zhigancao | 9 |\n| | |\n| | |\n\n\n## XCHT+CM\n\n| | |\n|-----------------|----|\n| \xe6\x9f\xb4\xe8\x83\xa1chaihu | 24 |\n| \xe9\xbb\x84\xe8\x8a\xa9huangqin | 9 |\n| \xe6\xb3\x95\xe5\x8d\x8a\xe5\xa4\x8fbanxia | 12 |\n| \xe5\xb9\xb2\xe5\xa7\x9cganjiang | 9 |\n| \xe4\xba\x94\xe5\x91\xb3\xe5\xad\x90wuweizi | 9 |\n| \xe7\x82\x99\xe7\x94\x98\xe8\x8d\x89zhigancao | 9 |\n| | |\n| | |\n\n## XCHT+TM\n\n\n| XCHT+TM | |\n|----------------- |----|\n| \xe6\x9f\xb4\xe8\x83\xa1chaihu | 24 |\n| \xe9\xbb\x84\xe8\x8a\xa9huangqin | 9 |\n| \xe6\xb3\x95\xe5\xa4\xa9\xe8\x8a\xb1\xe7\xb2\x89tianhuafen | 12 |\n| \xe7\x94\x9f\xe5\xa7\x9cshengjiang | 9 |\n| \xe5\x88\xba\xe4\xba\x94\xe5\x8a\xa0ciwujia | 12 |\n| \xe5\xa4\xa7\xe6\x9e\xa3dazao | 6 |\n| \xe7\x82\x99\xe7\x94\x98\xe8\x8d\x89zhigancao | 9 |\n| | |\n| | |\n \n\n| XCHT-HQin+FL | |\n|-----------------|----|\n| \xe6\x9f\xb4\xe8\x83\xa1chaihu | 24 |\n| \xe9\xbb\x84\xe8\x8c\xaf\xe8\x8b\x93fuling | 12 |\n| \xe6\xb3\x95\xe5\x8d\x8a\xe5\xa4\x8fbanxia | 12 |\n| \xe7\x94\x9f\xe5\xa7\x9cshengjiang | 9 |\n| \xe5\x88\xba\xe4\xba\x94\xe5\x8a\xa0ciwujia | 9 |\n| \xe5\xa4\xa7\xe6\x9e\xa3dazao | 6 |\n| \xe7\x82\x99\xe7\x94\x98\xe8\x8d\x89zhigancao | 9 |\n| | |\n| | |\n## XCHT-DZ+ML\n\n| XCHT-DZ+ML | |\n|-----------------|-----|\n| \xe6\x9f\xb4\xe8\x83\xa1chaihu | 12 |\n| \xe9\xbb\x84\xe8\x8a\xa9huangqin | 4.5 |\n| \xe6\xb3\x95\xe5\x8d\x8a\xe5\xa4\x8fbanxia | 6 |\n| \xe7\x94\x9f\xe5\xa7\x9cshengjiang | 4.5 |\n| \xe5\x88\xba\xe4\xba\x94\xe5\x8a\xa0ciwujia | 4.5 |\n| \xe7\x89\xa1\xe8\x9b\x8e muli | 6 |\n| \xe7\x82\x99\xe7\x94\x98\xe8\x8d\x89zhigancao | 4.5 |\n| | |\n| | |\n\nRun Code Online (Sandbox Code Playgroud)\n'c&&c--;/XCHT/{c=10}'文件上命令的结果
| XCHT | |\n|-----------------|----|\n| \xe6\x9f\xb4\xe8\x83\xa1chaihu | 24 |\n| \xe9\xbb\x84\xe8\x8a\xa9huangqin | 9 |\n| \xe6\xb3\x95\xe5\x8d\x8a\xe5\xa4\x8fbanxia | 12 |\n| \xe7\x94\x9f\xe5\xa7\x9cshengjiang | 9 |\n| \xe5\x88\xba\xe4\xba\x94\xe5\x8a\xa0ciwujia | 9 |\n| \xe5\xa4\xa7\xe6\x9e\xa3dazao | 6 |\n| \xe7\x82\x99\xe7\x94\x98\xe8\x8d\x89zhigancao | 9 |\n| | |\n| | |\n\n| XCHT | |\n|-----------------|----|\n| \xe6\x9f\xb4\xe8\x83\xa1chaihu | 24 |\n| \xe9\xbb\x84\xe8\x8a\xa9huangqin | 9 |\n| \xe6\xb3\x95\xe5\x8d\x8a\xe5\xa4\x8fbanxia | 12 |\n| \xe5\xb9\xb2\xe5\xa7\x9cganjiang | 9 |\n| \xe4\xba\x94\xe5\x91\xb3\xe5\xad\x90wuweizi | 9 |\n| \xe7\x82\x99\xe7\x94\x98\xe8\x8d\x89zhigancao | 9 |\n| | |\n| | |\n\n\n\n| XCHT+TM | |\n|----------------- |----|\n| \xe6\x9f\xb4\xe8\x83\xa1chaihu | 24 |\n| \xe9\xbb\x84\xe8\x8a\xa9huangqin | 9 |\n| \xe6\xb3\x95\xe5\xa4\xa9\xe8\x8a\xb1\xe7\xb2\x89tianhuafen | 12 |\n| \xe7\x94\x9f\xe5\xa7\x9cshengjiang | 9 |\n| \xe5\x88\xba\xe4\xba\x94\xe5\x8a\xa0ciwujia | 12 |\n| \xe5\xa4\xa7\xe6\x9e\xa3dazao | 6 |\n| \xe7\x82\x99\xe7\x94\x98\xe8\x8d\x89zhigancao | 9 |\n| | |\n| | |\n\n| XCHT-DZ+ML | |\n|-----------------|-----|\n| \xe6\x9f\xb4\xe8\x83\xa1chaihu | 12 |\n| \xe9\xbb\x84\xe8\x8a\xa9huangqin | 4.5 |\n| \xe6\xb3\x95\xe5\x8d\x8a\xe5\xa4\x8fbanxia | 6 |\n| \xe7\x94\x9f\xe5\xa7\x9cshengjiang | 4.5 |\n| \xe5\x88\xba\xe4\xba\x94\xe5\x8a\xa0ciwujia | 4.5 |\n| \xe7\x89\xa1\xe8\x9b\x8e muli | 6 |\n| \xe7\x82\x99\xe7\x94\x98\xe8\x8d\x89zhigancao | 4.5 |\n| | |\n| | |\n\n| Xiao Chaihi Tang -HQ+BS | |\n|-------------------------|----|\n| \xe6\x9f\xb4\xe8\x83\xa1chaihu | 24 |\n| \xe7\x99\xbd\xe8\x8a\x8dbaishao | 9 |\n| \xe6\xb3\x95\xe5\x8d\x8a\xe5\xa4\x8fbanxia | 12 |\n| \xe7\x94\x9f\xe5\xa7\x9cshengjiang | 9 |\n| \xe5\x88\xba\xe4\xba\x94\xe5\x8a\xa0ciwujia | 9 |\n| \xe5\xa4\xa7\xe6\x9e\xa3dazao | 6 |\n| \xe7\x82\x99\xe7\x94\x98\xe8\x8d\x89zhigancao | 9\nRun Code Online (Sandbox Code Playgroud)\n由于将它们复制到网页,这些表格有点不稳定。任何建议的帮助将不胜感激。
\n处理这个问题的一种方法是当c返回到 0 时退出:
c { print; if (--c == 0) exit }; /XCHT/{c=10}\nRun Code Online (Sandbox Code Playgroud)\n或者更简洁地说,
\nc; c && !--c { exit }; /XCHT/{c=10}\nRun Code Online (Sandbox Code Playgroud)\nGNUgrep可以做类似的事情:
grep -m1 -A10 XCHT\nRun Code Online (Sandbox Code Playgroud)\n(但这也会显示匹配 \xe2\x80\x9cXCHT\xe2\x80\x9d 的第一行)。
\n