删除Redhat 5.9中grep的行号输出


1

到目前为止我还没有使用RH 5.9。我从6开始,但我们有5.9台服务器。5.9的语法与某些东西略有不同。例如,grep将在实际搜索之前输出一个数字行。这是一个例子:

grep john /etc/shadow
38:john:!$1$/LW9cOmI$.QidFjJmq5xjKfmKugLAy0:16311:0:99999:7:::

38是那里的行号。在RH 6中,这已得到修复。我们使用的是grep(GNU grep)2.5.1。我不是sysadmin所以更新grep不太可能发生。但是,我想知道是否有解决方法。我习惯了RH 6中的grep。这是一个问题,因为当我做这样的事情时,它实际上是错误的字段:

cat /etc/shadow |grep john | awk -F: '{print $2}'
john

实际上,字段2应指示密码字段。grep中有一个选项可以禁用这些数字行吗?我搜索过但还没找到答案。谢谢。


3
您确定它没有设置为grep -n显示行号的常规命令的别名吗?输入alias以查看是否已列出。
garethTheRed 2014年

试试跑步\grep john /etc/shadow。它将运行没有任何预定义参数的命令。如果它工作,请尝试查看别名并从grep中删除别名中的-n标志。
nisargjhaveri 2014年

我已经查看了别名和\ grep命令,但没有任何好处
unixpipe 2014年

什么输出alias
ernie 2014年

1
只是ls,ll,vi和哪些命令,没有grep
unixpipe 2014年

Answers:


2

检查GREP_OPTIONS环境变量。

将它设置为空,以防再次尝试:

GREP_OPTIONS=''
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.