파일에서 문자열을 삭제하는 방법은 무엇입니까?

파일에서 문자열을 삭제하는 방법은 무엇입니까?

그래서 아래의 모든 항목을 일치시킨 다음 이 문자열 줄을 삭제하고 싶습니다.

[MTT-5634](https://my.atlassian.net/browse/MTT-5634)
[MCC-123](https://my.atlassian.net/browse/MCC-123)
[MTT-7965]: https://my.atlassian.net/browse/MTT-7965
https://my.atlassian.net/browse/MTT-7965

나는 열심히 노력했다

sed -e 's/\[(MTT|MCC)-[0-9]{3,4}\?]\?://g;s!.\?http[s]\?://\S*!!g' input.txt > output.txt

답변1

-E확장 정규식을 활성화 하지 않았으므로 , , , , , ()같은 |일부 {특수 문자를 이스케이프 처리해야 합니다 . 제거해야 할 첫 번째 sed 문에도 후행이 있습니다 . 또한 닫는 괄호를 이스케이프 처리하는 것을 잊었습니다 .}?:]

수정된(개선되지 않은) 명령은 다음과 같아야 합니다.

sed -e 's/\[\(MTT\|MCC\)-[0-9]\{3,4\}\?\]\?//g;s!.\?http[s]\?://\S*!!g' infile

바라보다sh 스크립트에서 sed를 사용할 때 어떤 문자를 이스케이프해야 합니까?

관련 정보