n개의 URL 목록이 있습니다(n은 알려져 있음). URL에서 프로토콜 이름을 제거하려면 어떻게 해야 합니까?
예: 에서 부분만 https://xyz.com
가져오고 싶습니다 .xyz.com
답변1
GNU grep과 PCRE 매칭을 사용하여,
grep -oP 'https://\K\S+' file
"https://" 뒤에 공백이 아닌 문자가 출력됩니다.
답변2
답변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 옵션이 지정되지 않는 한 구분 기호 문자가 포함되지 않은 행도 인쇄합니다.