grep 命令直到特定列

问题描述 投票:0回答:1

有人可以帮助我如何使用 Grep cmd 来获取特定输出。

我的cmd --------

ps -aef | grep gen | grep -v grep

cor     3957      1  0 Mar01 ?        02:04:07 gen nam=RS grp=81
mre  103189      1  1 Feb22 ?        16:16:37 gen nam=AB grp=05
cor   169727 169668  0 Apr11 pts/1    00:01:27 gen

我只想要以“gen”结尾的第三行的输出。我不想在第 8 列之后的 grep 中出现任何数据。

unix grep
1个回答
0
投票

“我只想要以 'gen' 结尾的第三行的输出。我不想在第 8 列之后的 grep 中出现任何数据。”

如果您只需要第三行的输出,请使用

awk 'NR==3'
。如果您想要第 8 列为“gen”的所有行,请使用
awk '$8 == "gen"'
。如果您只想要第 8 列为“gen”的行的前 8 列,请使用:

awk '$8 == "gen"{ for(i=9; i <= NF; i++) $i=""; print}'
© www.soinside.com 2019 - 2024. All rights reserved.