expr - 관리 문자열

expr - 관리 문자열

다음과 같은 텍스트가 필요합니다.

A234321=http://www.google..... a normal URL

URL만 추출하고 첫 번째 부분을 제거합니다. 할 수 있을 것 같은데 expr올바른 방법을 찾을 수 없습니다.

내가 사용할 수 있는 전체 정규식은 다음과 같습니다.http:[a-zA-Z0-9/_]+

답변1

당신이 이것을 찾고 있는지 잘 모르겠습니다. 도움이 되는지 확인해 보세요.

expr 'A234321=http://www.google&x=y' : '^[^=]*=\(.*\)'

답변2

expr이 필요하지 않습니다. 쉘 구성을 사용하여 지정된 제거 패턴과 일치하는 가장 짧은 접두사 ${VAR#PATTERN}로 확장하고 , 가장 긴 접두사를 제거하고, 접미사를 제거 할 수 있습니다.$VAR${VAR##PATTERN}${VAR%PATTERN}${VAR%%PATTERN}

text='A234321=http://www.example.com/wibble'
protocol=${text%%://*}
url=${protocol##*[!a-z]}://${text#*://}

답변3

텍스트가 항상 "=" 문자로 구분되어 있다고 가정하면 cutURL은 다음과 같습니다.

url=`echo $text | cut -f 2 -d"="`

기본적으로 여기서는 텍스트 필드를 잘라내고 =두 번째 필드로 구분하여 추출합니다.

관련 정보