【发布时间】:2023-03-15 20:52:01
【问题描述】:
我有大量的文本文件,并且使用 shell 脚本,想要搜索每个文件以识别字符串,例如“&abcdef”(表示每条记录的结尾),并且仅在连续出现时打印线。
输入文件内容file-a,其中一个文件的示例;还有其他类似但巨大的文件:
1239560059 TAB001
8E12222439 TAB001
84dswe6059 &abcdef
8229559179 &abcdef
8012156059 TAB001
804E122224 TAB001
8046317400 20120629 233000 20120629
8046005912 TAB001
8046559179 23222333 &abcdef
80463174E9 TAB001
8024360099 TAB001
8046316343 955912 &abcdef
8439559149 &abcdef
8044360059 TAB001
8046360059 TAB001
8034395879 &abcdef
需要输出:
-
file-a的第 3 行和第 4 行在连续行中多次出现&abcdef -
file-a的第 12 行和第 13 行在连续行中多次出现&abcdef
【问题讨论】:
-
考虑将您已经尝试过但无法开始工作的内容添加到帖子中。至少对操作系统/可接受的脚本语言更具体一点。
-
如果连续3行会怎样?三者的中线应该出现一次还是两次?
-
如果模式在连续行中出现 2 行或更多行,则输出应识别这些行
-
感谢您的输入,操作系统是 HP-UX,我是脚本方面的新手...尝试尽可能多地添加...我尝试使用 grep -n '&abcdef' 文件名,使用这些行号,我尝试循环,但无法成功。
标签: shell