출력 목록에서 ""를 제거하는 방법은 무엇입니까?

출력 목록에서 ""를 제거하는 방법은 무엇입니까?

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

충분할 것입니다. 첫 번째 발생과 두 번째 발생 "사이의 줄 부분을 -s반환 하고 ".

답변3

AWK를 사용하여,

  awk -F '"' '{if (NF==3) print $2}' file
  • 구분자 로 사용
  • 두 번째 필드 인쇄$2
  • NF==3최대 필드 수가 3인 경우

답변4

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

관련 정보