1

我有一个包含很多主机名的文件。有些在我想删除的主机之后有一个 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
4

3 回答 3

2

单程:

sed 's|/.*||' file

结果:

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

您可能想了解更多关于使用斜杠作为分隔符的信息。HTH。

于 2013-02-08T13:35:42.817 回答
2

尝试这样做:

cut -d '/' -f1 file.txt

或者

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

或者

perl -F/ -lane 'print $F[0]' file.txt
于 2013-02-08T13:38:46.923 回答
1
awk -F/ '{print $1}' your_file

或者

所有其他解决方案都无法就地更改文件。但如果是 steve,您需要为该 sed 解决方案添加 -i 标志。但它仍然无法在 solaris 上运行。下面 perl 解决方案适用于所有平台并就地替换文件

perl -pi -e 's/\/.*//g' your_file
于 2013-02-08T13:42:16.513 回答