웹사이트 링크에서 프로토콜 이름 제거

웹사이트 링크에서 프로토콜 이름 제거

n개의 URL 목록이 있습니다(n은 알려져 있음). URL에서 프로토콜 이름을 제거하려면 어떻게 해야 합니까?

예: 에서 부분만 https://xyz.com가져오고 싶습니다 .xyz.com

답변1

GNU grep과 PCRE 매칭을 사용하여,

grep -oP 'https://\K\S+' file

"https://" 뒤에 공백이 아닌 문자가 출력됩니다.

답변2

사용하는 것은 어떻습니까?awkF옵션 및 텍스트 리디렉션이 있습니까 ?

awk -F'^http[s]?://' '{print $2}' fileName > outputFile

또는sedi옵션 포함

sed -i s/'http[s]\?:\/\/'// fileName

답변3

다음은 간단한 awk 호출입니다.

$ awk -F// '{print $NF}' fileName

-F필드 구분 기호를 지정합니다. $NF마지막 필드를 인쇄합니다.

// 주위에 큰따옴표를 사용해야 할 수도 있습니다.

답변4

사용자르다: 컷은 구분 기호 없이 줄을 인쇄하므로 접두어 유무에 관계없이 작동합니다.

echo 'https://myserver.com' | cut -d '/' -f 3
# prints myserver.com

루프를 사용하여 파일 내의 여러 줄에서 이를 실행할 수 있습니다.

for line in $(cat input_file.txt); do
    echo "${line}" | cut -d '/' -f 3
done

"cut" 맨페이지 -f, --fields=LIST에서 다음 필드만 선택합니다. -s 옵션이 지정되지 않는 한 구분 기호 문자가 포함되지 않은 행도 인쇄합니다.

관련 정보