在bash中解析文件

在bash中解析文件,bash,parsing,awk,grep,Bash,Parsing,Awk,Grep,我在一个文件中有一个输出,我想逐行解析该文件,以获得标准输出中带有“ip地址(10.113.193.70)”和“版本:47.80.99.08”的行。使用grep/awk或bash解析的最佳方法是什么 10.113.193.70 Executing (0,0,0,0,0,0,0,0,0,0): ==== product information ==== Product: e10 Package: default Version: 47.80.99.08 Type: customer Bui

我在一个文件中有一个输出,我想逐行解析该文件,以获得标准输出中带有“ip地址(10.113.193.70)”和“版本:47.80.99.08”的行。使用grep/awk或bash解析的最佳方法是什么

10.113.193.70

Executing (0,0,0,0,0,0,0,0,0,0):
==== product information ====
Product: e10
Package: default
Version: 47.80.99.08
Type:    customer
Builder: symsm
Project: RAID
一种方法:

grep '[0-9][.][0-9]*[.][0-9]*[.][0-9]' filename
一种方法:

grep '[0-9][.][0-9]*[.][0-9]*[.][0-9]' filename

所有的
awk
sed
grep
bash
都可以工作

这是假设具有IP的线路位于线路的起点, 没有其他行以数字开头。
否则,您可以优化IP模式

狂欢节:

awk:

sed:


所有的
awk
sed
grep
bash
都可以工作

这是假设具有IP的线路位于线路的起点, 没有其他行以数字开头。
否则,您可以优化IP模式

狂欢节:

awk:

sed:

$ grep "^\(Version\|[[:digit:]]\)" file
10.113.193.70
Version: 47.80.99.08
$ awk '$1 ~ /^(Version|[0-9])/ { print }' file
10.113.193.70
Version: 47.80.99.08
$ sed -n '/^\(Version\|[[:digit:]]\)/p' file
10.113.193.70
Version: 47.80.99.08