SED를 사용해 본 것은 이번이 처음입니다.
간단한 문자열을 작업하려면 바꾸기 명령을 사용할 수 있습니다. 좋다:
sed -i 's/foo/bar/g' file.txt
그러나 정규식을 사용하려고 하면 작동이 중지됩니다. URL을 식별하는 데 사용하려는 정규식은 다음과 같습니다.
(https?:)?(\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)
텍스트 파일에서 모든 URL을 제거하려고 합니다. 이것은 내 완전한 명령입니다.
sed -i 's/(https?:)?(\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)//g' file.txt
누구든지 이 문제를 볼 수 있나요?
답변1
확장 정규식을 활성화하려면 명령 -r
에 추가해야 할 수도 있습니다 .sed
-r
즉 , ?
, +
, ()
, {}
, 에는 문자 그대로의 의미 가 없으며 |
"정규 표현식" 의미를 부여하려면 앞에 백슬래시를 붙여야 합니다.
바라보다GNU 웹사이트의 문서더 자세한 설명을 원하시면.