grep -- 删除分隔符标记后的文本

gar*_*tor 13 command-line grep scripting sed

我有一个文件,我需要在其中消除;每一行第一个之后的所有内容。

所以一个这样的文件:

sdfsdsdf;
fsdfsddf;sdfsd;
Run Code Online (Sandbox Code Playgroud)

会导致这样:

sdfsdsdf
fsdfsddf
Run Code Online (Sandbox Code Playgroud)

我已经调查过grepsed。我会很感激包含这些命令中的任何一个的答案。

Ric*_*chm 9

另一种选择是使用cut命令

cat a.file | cut -d';' -f1
Run Code Online (Sandbox Code Playgroud)

  • 没用的我们猫 (9认同)

Bru*_*ger 5

sed 在这种情况下,可能比 awk 或 perl 更简单、更快:

sed 's/^\([^;][^;]*\);.*$/\1/' some_file_name
Run Code Online (Sandbox Code Playgroud)

  • 这比它应该的更复杂!`sed 's/;.*//'` (7认同)