获取冒号前的内容

获取冒号前的内容

我在 Linux 上有一个文本文件,其内容如下:

help.helloworld.com:latest.world.com
dev.helloworld.com:latest.world.com

我想获取冒号之前的内容,如下所示:

help.helloworld.com
dev.helloworld.com

我怎样才能在终端内做到这一点?

答案1

这是cut为了:

$ cat file
help.helloworld.com:latest.world.com
dev.helloworld.com:latest.world.com
foo:baz:bar
foo

$ cut -d: -f1 file
help.helloworld.com
dev.helloworld.com
foo
foo

您只需将分隔符设置为:with-d:并告诉它仅打印第一个字段 ( -f1)。

答案2

或者另一种选择:

$ grep -o '^[^:]*' file
help.helloworld.com
dev.helloworld.com

这将返回从每行开头 ( ^) 开始的所有字符,其中不包括冒号 ( [^:]*)。

答案3

肯定会推荐awk

awk -F ':' '{print $1}' file

用作:字段分隔符并打印第一个字段。

答案4

需要 GNU grep。它不适用于 macOS 或任何其他 BSD 上的默认 grep。

你的意思是这样的:

grep -oP '.*(?=:)' file

输出:

help.helloworld.com
dev.helloworld.com

相关内容