2016-11-17 10 views
0

를 CSV, 이것과 같은 라인이 있습니다 파일 : 나는 vimeo.com/video/을 사이에이 라인에서 30342373을 추출 할POSIX ERE에 긍정적 인 lookbehind 또는 비 캡처 그룹 (확장 정규 표현식)에서

<iframe src="https://player.vimeo.com/video/30342373" width="640" height="364" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe> 

가 및 ". 나는 mawk에 다음과 같은 정규 표현식을 시도 :

vimeo\.com\/video\/[^"]* 

캡처 어떤 : 바로 알고 있다면 vimeo.com/video/30342373

, mawkegrep 유사하다 POSIX ERE 구문을 지원.

줄에서 고유 한 비디오 ID 부분 만 캡처하려면 어떻게해야합니까?

답변

1
$ awk '{gsub(/.*vimeo.com\/video\/|".*/,"")}1' file 
30342373 
+1

감사합니다! 이것은 완벽하게 작동합니다. – Lanti

1

그것은 sed에 쉽게 : 다음

str='<iframe src="https://player.vimeo.com/video/30342373" width="640" height="364" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>' 

sed 's~.*\.vimeo\.com/video/~~; s~" .*~~' <<< "$str" 

30342373 

vimeo.com/video/ 처음부터이 sed 첫째 스트립 모든 및 따라서 단지 고유 ID로 우리를 떠나, "부터 끝까지 모든 것을 제거합니다.