我正在尝试提取文件中所有前导的 7 位十六进制字符串,其中包含以下行:
3fce110:: ..\Utilities\c\misc.c(431): YESFREED (120 bytes) Misc
我正在尝试提取文件中所有前导的 7 位十六进制字符串,其中包含以下行:
3fce110:: ..\Utilities\c\misc.c(431): YESFREED (120 bytes) Misc
egrep -o '^[0-9a-f]{7}\b' file.txt
egrepgrep -E与;相同 它使用扩展的正则表达式。-o仅打印每行的匹配部分。^将匹配锚定到行首。[0-9a-f]{7}匹配七个十六进制字符。如果要匹配大写字母,请在A-F此处添加或添加-i标志。\b检查单词边界;它确保我们不匹配长度超过 7 位的十六进制数字。如果文件中的所有行都遵循给定的格式,那么有几个方法:
$ grep -o '^[^:]*' file
3fce110
$ awk -F: '{print $1}' file
3fce110
$ cut -d: -f1 file
3fce110
$ sed 's/:.*//' file
3fce110