查找文件中第一次出现子字符串的位置

时间:2018-06-07 12:52:57

标签: shell file unix

我有一个非常大的文件,它只由一行组成(根本没有CR)。 我有几个相同模式的出现(让我们说这里,模式是ABCDE)。 我想返回此模式第一次出现的第一个字符的起始位置或起始列...

例如,如果这是文件中的数据:

123456ABCDEF456987ABCDEFjhkhkhkhABCDEF

我想将7作为模式第一次出现的起始列...

感谢社区:-)

2 个答案:

答案 0 :(得分:1)

使用awk index()功能:

awk -v pattern="ABCDE" '{print index($0,pattern)}' file

答案 1 :(得分:0)

使用“split”的“C”选项,因此之后无需修复文件。

   -C, --line-bytes=SIZE
          put at most SIZE bytes of lines per output file