처리할 수 있도록 json 파일에서 값을 추출하고 싶습니다. 사용하려고 시도했지만 grep '"USDEUR" currs.json' | cut -d ':' -f 2
반환되었으며 0.918695,
json 파일은 다음과 같습니다.
{
"success":true,
"terms":"https:\/\/currencylayer.com\/terms",
"privacy":"https:\/\/currencylayer.com\/privacy",
"timestamp":1449232988,
"source":"USD",
"quotes":{
"USDEUR":0.918695,
"USDGBP":0.660851,
"USDPLN":3.95815
}
}
그래서 USDEUR의 가치를 처리할 수 있도록 쉼표를 비활성화하는 방법을 알고 싶습니다.
답변1
JSON 파서를 사용하여 JSON을 구문 분석합니다.jq
:
$ jq '.quotes.USDEUR' file.json
0.918695
답변2
이를 수행하는 방법에는 여러 가지가 있습니다. 다음 방법 중 하나로 결과를 전송할 수 있습니다.
tr -d ','
cut -d',' -f1
sed -e 's/,//'
답변3
pure ( 옵션) 과 함께 grep
Perl 호환 정규식을 사용하십시오 .-P
grep -Po 'USDEUR":\K.*(?=,)' file
\K
그때까지 모든 것을 버릴 것이다:
(?=,)
그 후 모든 것을 버릴 것입니다,
(포함,
)
답변4
다른 컷아웃을 추가하세요.
grep '"USDEUR" currs.json' | cut -d ':' -f 2 | cut -d',' -f 1