2014-04-25 69 views
1

我有一个包含一些网址,像这样的一个文本文件:如何去除双斜线使用SED

https://home.ggg.com/ 
http://zzz.aaa.net 

我想删除HTTP:从年初//部分://或https每行使用sed命令,但我的问题似乎在我不知道如何在命令中写入//。这似乎需要一些补充,而不是被写,因为它是// 编辑:请注意,某些以http://,而其他以https://

回答

3

这可能会为你工作(GNU SED):

sed 's/\<http\(s\|\):\/\///' file 

然而,这是更清楚:

sed -r 's#\<https?://##' file 
4

使用不同的分隔符:

sed 's|https\?://||' filename 

sed -r 's|https?://||' filename 

s是可选在这里,所以它会删除这两个http://https://

使用g修改,如果你能在一个给定的行不止一个模式:'s|https?://||g'

+0

没有任何变化。我写道:echo'https://www.ggg.com | sed's | https?:// ||'',输出结果为:'https:// www.ggg.com' – user2192774

+0

'echo'https://www.ggg.com'| sed's | https \ {0,1 \}:// ||''为posix版本。你在使用gnu sed还是traditionalnal posix sed? – NeronLeVelu

+0

@NeronLeVelu thnx。你的命令和我一起工作。我使用Ubuntu 12. – user2192774