所以我想匹配下面的所有内容,然后删除这些字符串行。
[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
xtended 正则表达式,因此您需要转义一些特殊字符,例如(
, )
, |
, {
, }
, ?
。您的第一个 sed 语句中还有一个:
应该删除的尾随。另外,您忘记转义右括号]
。
您自己更正(但未改进)的命令应该是:
sed -e 's/\[\(MTT\|MCC\)-[0-9]\{3,4\}\?\]\?//g;s!.\?http[s]\?://\S*!!g' infile