在行中查找模式

在行中查找模式

我怎样才能 grep 特定的数字模式,例如

1000010000000

在整个文件中 - 行的开头必须有这些数字,而不是其他地方......

答案1

1000010000000对于在行首包含该精确字符串的搜索,

grep "^1000010000000"

还可以。


更灵活的是像这样的模式(例如):

grep -P "^1[0]{4,4}1[0]{7,7}" <your_file>

解释:

  • ^1[0]{4,4}1[0]{7,7}

    正则表达式可视化

    • ^断言字符串开头的位置
    • 1与字符 1 逐字匹配
    • [0]{4,4}匹配下面列表中的单个字符
      • 量词:{4,4}正好 4 次
      • 0文字字符0
    • 1与字符 1 逐字匹配
    • [0]{7,7}匹配下面列表中的单个字符
      • 量词:{7,7}正好 7 次
      • 0文字字符0

答案2

grep '^1000010000000' filename

插入符号表示行首。

编辑:
刚刚找到了一个关于这类事情的有用教程这里

答案3

你可以做

sed -n '/^1000010000000/p' file

解释

-n方法抑制正常输出,因此我们只打印我们想要的行。

表示/^1000010000000/将行与行首的模式匹配。^是一个锚点,表示行的开始。

打印p出匹配的行。

相关内容