我正在尝试输出文件中第一个八位字节为 1 位数字的所有 IP。
文件结构:
1.56.46.44
244.34.56.90
198.168.1.1
等等...
我正在寻找
的输出
1.56.46.44
我已经尝试过:
grep -E "[^^][0-9].[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}" file.txt
输出每个 IP,仅突出显示几个数字
并且也尝试过:
grep -o -n '\b[0-9].' file.txt
输出任意一位数字八位字节
最佳答案
您需要转义 .
字符,否则它们会匹配任何内容,包括另一个数字。
而且开头不应该有[^^]
。匹配 ^
以外的任何字符。因此,如果输入以 12.
开头,则 1
将与 [^^]
匹配。单独使用 ^
来匹配行的开头。
grep -E '^[0-9]\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$' file.txt
关于regex - Grep 第一个八位字节中只有 1 位数字的 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74382443/