awk / sed 只打印到下划线字符

Rub*_*str 13 unix unix-utils bash-scripting

如何使用 awk 或 sed 将字符串打印到第一个下划线字符?

前:

host100_044 2
host101_045 2
host102_046 2
Run Code Online (Sandbox Code Playgroud)

后:

host100
host101
host102
Run Code Online (Sandbox Code Playgroud)

Ren*_*nan 22

这可以通过以下方式完成cut

cut -d _ -f 1
Run Code Online (Sandbox Code Playgroud)

例如

$ echo host100_044 2 | cut -d _ -f 1
host100
Run Code Online (Sandbox Code Playgroud)

awk可以用awk -F_ '{print $1}'(可能有一种更干净的方法来做到这一点)