出力リストから「」を削除するには?

出力リストから「」を削除するには?

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

どうすればいいですか?

答え1

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

答え2

このサンプルの場合

cut -d'"' -sf2

十分でしょう。最初の発生と2番目の発生"の間の行部分を-s返します"

答え3

AWKを使って、

  awk -F '"' '{if (NF==3) print $2}' file
  • 区切り文字として使用
  • 2番目のフィールドの印刷$2
  • NF==3最大フィールド数が3の場合

答え4

awk -F\" 'NF>1{print $2}' file

関連情報