在Unix中,命令grep -o
仅打印出匹配的字符串。当您使用正则表达式搜索模式时,这非常有用,并且只对完全匹配而不是整行的内容感兴趣。
但是,我无法为Windows命令findstr
找到类似的东西。是否可以替代仅在Windows中打印匹配的字符串?
例如:
grep -o "10\.[0-9]+\.[0-9]+\.[0-9]+" myfile.txt
上述命令仅打印myfile.txt
格式的10.*.*.*
中的IP地址,但不打印包含此类IP地址的整行。
答案 0 :(得分:1)
的PowerShell:
select-string '10\.[0-9]+\.[0-9]+\.[0-9]+' myfile.txt | foreach-object {
$_.Matches[0].Groups[0].Value
}
答案 1 :(得分:0)
通过下载此UnxUtils(准备就绪的.exe二进制文件),只需使用您熟悉的grep
和其他出色的Linux命令。为方便起见,将其添加到您的PATH
环境变量