Mam następujący ciąg:grep: grupa przechwytywanie
{"_id":"scheme_version","_rev":"4-cad1842a7646b4497066e09c3788e724","scheme_version":1234}
i trzeba uzyskać wartość „wersja programu”, który jest 1234 w tym przykładzie.
Próbowałem
grep -Eo "\"scheme_version\":(\w*)"
jednak powraca on
"scheme_version":1234
Jak mogę to zrobić? Wiem, że mogę dodać sed połączenia, ale wolałbym to zrobić z pojedynczym grep.
Nie sądzę, że jest to możliwe tylko przy użyciu "grep". Kilka lat temu zrobiłem wiele z manipulacją strunami, często wyskakując do rzeczy takich jak "sed" lub "cut". Sugerowałbym, żebyś przestudiował "piping" i polecenie "cut". –
Nie używam grep bardzo często, ale być może użyjesz wyrażenia typu look-behind, jak opisano w zaakceptowanej odpowiedzi na http://stackoverflow.com/questions/1247812/im-stuck-in-trying-to- grep-anything-just-after-name. –
Użyj [jq] (https://stedolan.github.io/jq) –