다음과 같은 출력이 있습니다.
"vancouver/news/vancouver-voices": {
"status": 0,
"time": 0,
"timestamp": 1371298701
},
"vancouver/news/vancouvers-march-second-annual-success": {
"status": 0,
"time": 0,
"timestamp": 1371298701
}
부분 URL 만 추출해야합니다 ( vancouver/news/vancouvers-march-second-annual-success and vancouver/news/vancouver-voices
예 :
나는 기본적으로 bash를 통해 명령을 호출 한 다음 grep awk 또는 sed로 파이프합니다.
grep ( | grep -o '".*": {'
)을 사용 하면 가까이 갈 수 있습니다. 나는 다음과 같은 출력으로 끝납니다.
"vancouver/news/vancouver-voices": {
"vancouver/news/vancouvers-march-second-annual-success": {
그래도 sed 또는 awk를 사용해야한다고 생각합니다. 몇 가지를 시도했지만 특수 문자를 피해야한다고 생각합니다. 예를 들어 | awk '\"(.*)\": {' --output='$1
'를 시도 했지만 백 슬래시 때문에 barfs입니다.
sed 또는 awk 전문가가 특수 문자를 올바르게 탈출하는 방법에 대한 단서가 있습니까?
이 작업을 수행하는 데 더 우아한 방법이 있다고 생각해야하지만 이것은 트릭을 수행하는 것 같습니다. | grep -o ' ". *": {'| sed 's / (^ "\ |": {$) // g'. 더 좋은 제안이 있으면 알려주세요.
—
Brad