如何在剪切结果(bash)中删除字符串的后缀?

use*_*923 1 string bash awk cut

我想在cut命令的所有结果行中删除特定字符"/"后的所有字符如何使用bash命令执行此操作?

例如,如果cut -f2 file结果:

John.Micheal/22
Erik.Conner/19
Damian.Lewis/40
Run Code Online (Sandbox Code Playgroud)

我需要输出:

John.Micheal
Erik.Conner
Damian.Lewis
Run Code Online (Sandbox Code Playgroud)

Sto*_*ica 8

你可以把它管到另一个cut,使用/作为字段分隔符:

cut -f2 file | cut -f1 -d/
Run Code Online (Sandbox Code Playgroud)

或者你可以sed用来切断以下的一切/:

cut -f2 file | sed 's?/.*??'
Run Code Online (Sandbox Code Playgroud)

或者您可以使用awk带有自定义字段分隔符的单个,假设/第一个字段中没有:

awk -F'[\t/]' '{print $2}' file
Run Code Online (Sandbox Code Playgroud)

如果/在第一个字段中可以有,那么最好使用前两个建议.