我在 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