如何grep 7位十六进制字符串并仅返回该十六进制字符串?

Bee*_*and 4 grep

我试图提取文件中所有前导的7位十六进制字符串,其中包含如下行:

3fce110:: ..\Utilities\c\misc.c(431): YESFREED (120 bytes) Misc
Run Code Online (Sandbox Code Playgroud)

Joh*_*ica 13

egrep -o '^[0-9a-f]{7}\b' file.txt
Run Code Online (Sandbox Code Playgroud)
  • egrep是一样的grep -E; 它使用扩展的正则表达式.
  • -o 仅打印每行的匹配部分.
  • ^ 将匹配锚定到行的开头.
  • [0-9a-f]{7}匹配七个十六进制字符.如果你想匹配大写字母,请在A-F这里添加或添加-i标志.
  • \b检查单词边界; 它确保我们不匹配长度超过7位的十六进制数.

  • +1短,快,正确!用`-i`更好 (2认同)