在bash中解析文件
我在一个文件中有一个输出,我想逐行解析该文件,以获得标准输出中带有“ip地址(10.113.193.70)”和“版本:47.80.99.08”的行。使用grep/awk或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
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