가 나는 배쉬 콘솔grep을 사용하여 콘솔에서 텍스트를 추출합니다. 내가 도대체 뭘 잘못하고있는 겁니까?
{ "id" : "0cba-2dbc-11e4-8c2c-bb68" }
의 파일 test.sh
을 실행 한 후 다음과 같은 출력이 나는 단지 GREP 또는 egrep을 명령을 사용하여 id
의 값을 취득합니다. 이것은 내가 지금까지 시도한 것입니다 :
test.sh | grep -E "(: \".*\" })"
위 출력과 똑같은 결과가 출력됩니다.
test.sh | grep -E "(: \"(.*)\" })"
하지만 난 여전히 같은 결과로 끝나는 오전 : 내가 값 주위에 괄호 (.*)
을 추가하여 그룹화 시도 그래서 다음으로 저장합니다.
값을 얻는 방법이 있습니까 : 0cba-2dbc-11e4-8c2c-bb68 python을 사용하지 않고 인쇄 하시겠습니까?
grep -Po '"id"\s*:\s*"\K[^"]*'
\K
여기 뒤에 모양 같은 입니다 :
은''sed'들이 JSON 형식을 "이해"하지 않는 한 항상 나쁜 생각 –