Json

如何刪除輸出列表中的“”?

  • July 11, 2021

我使用命令從 EC2 獲取 IP 列表。

到目前為止我得到的結果是這樣的列表:

[
   "172.31.11.7",
   "172.31.48.141",
   "172.31.64.201",
   "172.31.64.149",
   "172.31.64.148",
   "172.31.64.111"
]

我想得到結果:

172.31.11.7
172.31.48.141
172.31.64.201
172.31.64.149
172.31.64.148
172.31.64.111

我怎樣才能做到這一點?

使用jq

jq -r '.[]' file

使用egrep

egrep -o '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' file

或者

egrep -o '([0-9]+\.){3}[0-9]+' file

使用grep

grep -o '[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*' file

對於那個樣本,

cut -d'"' -sf2

就足夠了。它返回第一次和第二次"出現之間的行部分,並且 (with -s) 丟棄不包含任何".

引用自:https://unix.stackexchange.com/questions/460258