【发布时间】:2018-10-07 17:59:47
【问题描述】:
我已经搜索了所有内容,但仍然找不到这个简单的答案。我敢肯定它很容易。如果您知道如何完成此操作,请提供帮助。
sample.txt 是:
AAAAA
我想找出组合“AAA”发生的确切时间。如果你只是使用例如
grep -o 'AAA' sample.txt | wc -l
我们收到 1。这与使用标准文本编辑器搜索框类型搜索仅搜索 AAA 发生的次数相同。但是,我想要完全匹配的完整数量,从每个恰好为 3 的单个字符开始。当我们从每个字符单独搜索而不是将每个 AAA 命中视为盒子类型块时,我们会得到这个。
我正在寻找从 sample.txt 中“AAA”的每个单独字符开始的最压缩/最多可能性/字面确切的出现次数,而不仅仅是像在普通文本中那样找到它的每次块从搜索框中编辑器类型搜索。
我们如何做到这一点,最好是在 AWK 中? SED、GREP 和其他任何东西都可以,我可以将它们包含在 Bash 脚本中。
【问题讨论】:
-
我认为这不能回答 OP 的问题。他们正在寻找组合。在示例中,有三种方法可以从
AAAAA中获取AAA。这实际上在 bash 中有点棘手...... -
完全正确!!感谢任何 Novy,该页面建议使用 sed 's/echo/echo\n/g' 文件 | grep -c "echo" 这不完全是我的情况,因为我需要从字符串中每个字符的开头开始计数,以便像约翰所说的那样获得每一种可能性,我需要它来识别 AAAAA 中的 3 个 AAA。我们通过从每个字符的开头特别计数来得到这个,但是如何在 AWK 或 grep 中做到这一点对我来说很难与谷歌相遇。我吃了 GREP 手册页,所有的特殊运算符仍然找不到正确的代码。