txt 파일에서 http와 https를 모두 제거해야 합니다.
이와 같이:
http://ac.tecnicasdeinvasao.com
http://go.tecnicasdeinvasao.com
http://lp.tecnicasdeinvasao.com
https://ac.tecnicasdeinvasao.com
http://secreto.tecnicasdeinvasao.com
https://go.tecnicasdeinvasao.com
https://lp.tecnicasdeinvasao.com
https://secreto.tecnicasdeinvasao.com
도착하다
ac.tecnicasdeinvasao.com
go.tecnicasdeinvasao.com
lp.tecnicasdeinvasao.com
ac.tecnicasdeinvasao.com
secreto.tecnicasdeinvasao.com
go.tecnicasdeinvasao.com
lp.tecnicasdeinvasao.com
secreto.tecnicasdeinvasao.com
sed를 사용해 보았지만 성공하지 못했습니다.
답변1
나는 그것을 선호 awk
하므로 sed
내가 하는 일은 다음과 같습니다.
awk
사용자 정의를 정의할 수 있습니다.필드 구분 기호, 이는 문제를 매우 간단하게 만듭니다.
전체 URL이 포함된 파일이 이라고 가정하면 tstfile.txt
다음 명령문은필드 구분 기호( -F
)를 //
다음과 같이 두 번째 필드( $2
)를 인쇄합니다.
$ awk -F'//' '{print $2}' tstfile.txt
ac.tecnicasdeinvasao.com
go.tecnicasdeinvasao.com
lp.tecnicasdeinvasao.com
ac.tecnicasdeinvasao.com
secreto.tecnicasdeinvasao.com
go.tecnicasdeinvasao.com
lp.tecnicasdeinvasao.com
secreto.tecnicasdeinvasao.com
결과를 파일로 저장하려면 리디렉션을 사용할 수 있습니다 >somefile.txt
.
배포판에서 GNU 버전 awk
(일명 ) 을 사용하는 경우 gawk
선택적으로 입력 파일을 업데이트할 수 있습니다.제자리에:
$ awk -i inplace -F'//' '{print $2}' tstfile.txt
$
이제 콘텐츠는 tstfile.txt
위에 표시된 것과 정확히 같으므로 최종 목표에 따라 한두 단계를 절약할 수 있습니다. 원본 파일을 다른 파일 이름으로 저장하는 등의 기타 옵션은 다음을 참조하세요.이 답변.
답변2
당신이 sed를 사용하여 요청했기 때문에
그리고sed더 쉽게 읽을 수 있습니다:
sed -E 's/http.+[/]//'
그리고sed작성하는 것이 더 쉽습니다.
sed -E 's/http.+\///'
둘 다 같은 일을 합니다.sed백플러시로 읽기가 /select/replace/
어렵기 때문에 사용하는 형식입니다 .\
-E
"최신" 버전의 정규식을 사용하고 있습니다.s
찾기 및 바꾸기에스트린.+
두 가지 의미가 있습니다..
점은 모든 문자를 나타냅니다. 이 경우 s와+
기호는 뒤에 오는 모든 것을 선택하는 데 사용됩니다..
- 정규식 세계에서 문자가 특별한 의미를 갖는 경우 일반적으로
\
역효과를 사용하여 문자를 이스케이프 처리해야 합니다. 이 경우에는 말해야 합니다.sed마지막 것까지 모든 것을 선택하므로/
이렇게 이스케이프해야\/
하지만 읽기가 더 어렵고\///
마지막 것은 형식에서 나온 것이므로 대괄호를 사용하여 이스케이프할 수도 있습니다.//
선택한 것을 제거하고 싶기 때문에 무엇을 쓰지도 않습니다. >/select/replace/
[/]
//
왜냐하면 모든 것은 다음과 같이 시작되기 때문입니다.시간(동일합니다) 더 짧게 만들 수 있습니다
sed -E 's/.+\///'
sed -E 's/.+[/]//'
이것은 --> 텍스트의 처음부터 마지막까지 모든 것을 선택한다는 것을 의미합니다 /
-->whateverGoesHere
/
답변3
이 시도:
awk '{sub(/https?:\/\//,"");print}' file.txt > outfile.txt
awk
입력 라인을 반복하면서 각 라인에서 프로그램을 실행합니다. 일치시킬 정규식을 지정하지 않았으므로 중괄호 안의 코드가 모든 줄에서 실행됩니다. 이 sub
함수는 슬래시 사이의 정규식을 일치시키고 이를 따옴표로 묶은 빈 문자열로 바꿉니다. 정규 표현식의 물음표로 인해 "s"가 선택 사항이 됩니다.