到目前为止,我还没有使用过 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。我不是系统管理员,所以不太可能更新 grep。但是,我想知道是否有解决方法。我习惯使用 RH 6 中的 grep。这是一个问题,因为当我执行这样的操作时,它实际上是错误的字段:
cat /etc/shadow |grep john | awk -F: '{print $2}'
john
但实际上,字段 2 应该表示密码字段。grep 中是否有选项可以禁用这些数字行?我搜索过,但还没有找到答案。谢谢。
答案1
检查 GREP_OPTIONS 环境变量。
将其设置为无,以防万一,然后重试:
GREP_OPTIONS=''