Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Bash从自定义文本文件提取IP地址_Bash_Grep - Fatal编程技术网

使用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