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