使用Bash从自定义文本文件提取IP地址
我有一个包含以下内容的文本文件:使用Bash从自定义文本文件提取IP地址,bash,grep,Bash,Grep,我有一个包含以下内容的文本文件: NAME REGION ADDRESS STATUS instance-name europe-west1 1.2.3.4 IN_USE instance-name-2 europe-west1 1.3.2.4 IN_USE instance-name-3 europe-west1
NAME REGION ADDRESS STATUS
instance-name europe-west1 1.2.3.4 IN_USE
instance-name-2 europe-west1 1.3.2.4 IN_USE
instance-name-3 europe-west1 1.5.3.2 IN_USE
我只想从instance-name-3中提取IP地址。在那种情况下怎么可能呢
例如,这允许我查找所有IP地址,但我只需要instance-name-3:
您可以尝试以下方法:
cat your_file.txt | grep 'instance-name-3' | awk '{print $3}'
这将仅拉出名为instance-name-3的行的IP地址列3
结果:
pBit是@waymobetta解决方案的更紧凑的替代方案
awk '/^instance-name-3 /{print $3}' your_file.txt
如果第1列为instance-name-3,则打印第3列:
awk '$1=="instance-name-3" {print $3}' file
输出:
1.5.3.2
使用grep和cut,或者tr和squeeze,非常感谢@tinkertime,听起来比我想象的要简单,但从来没有玩过这种东西;这将为instance-name-31打印3美元$1==实例名-3 1.5.3.2