在第一行/包括第一行/每行之后删除所有内容

时间:2013-02-08 13:32:26

标签: perl sed

我有一个包含大量主机名的文件。有些人在我要移除的主机之后有一个url部分。换句话说:

google.com
facebook.com
acme.com/news/frontpage
bbc.co.uk
abc.com/home/index

应该成为

google.com
facebook.com
acme.com
bbc.co.uk
abc.com

3 个答案:

答案 0 :(得分:2)

一种方式:

sed 's|/.*||' file

结果:

google.com
facebook.com
acme.com
bbc.co.uk
abc.com

您可能想要阅读有关使用slash as a delimiter的更多信息。 HTH。

答案 1 :(得分:2)

尝试这样做:

cut -d '/' -f1 file.txt

awk -F/ '{print $1}' file.txt

perl -F/ -lane 'print $F[0]' file.txt

答案 2 :(得分:1)

awk -F/ '{print $1}' your_file

所有其他解决方案都无法在适当的位置更改文件。但是如果是史蒂夫,则需要为该sed解决方案添加-i标志。但它仍然无法在solaris上运行。 下面的perl解决方案适用于所有平台并替换现场文件

perl -pi -e 's/\/.*//g' your_file