使用Bash

时间:2019-03-04 00:09:57

标签: 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  1.5.3.2         IN_USE

我只想从“ instance-name-3” 中提取IP地址。在那种情况下怎么可能?

例如,这使我可以找到所有IP地址,但我只希望“ instance-name-3” 一个:

grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0
-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" iplist.txt

3 个答案:

答案 0 :(得分:5)

pBit是@waymobetta解决方案的更紧凑的替代方案

$table->integer('post_category_id')->unsigned();

答案 1 :(得分:4)

如果第1列是instance-name-3,则打印第3列:

awk '$1=="instance-name-3" {print $3}' file

输出:

1.5.3.2

答案 2 :(得分:2)

您可以尝试以下操作:

cat your_file.txt | grep 'instance-name-3' | awk '{print $3}'

这只会提取名称为instance-name-3的行的IP地址(第3列)

结果:

enter image description here