在Unix中过滤/ etc/passwd

Cri*_*anu 3 unix bash

我想过滤内容/etc/passwd,只显示第三列中的值大于的行 999.

用一个衬垫有一个简单的方法吗?我想在不写无聊的情况下这样做for-loop.

Dan*_*ger 8

这是一种简单的方法:

awk -F: '$3 > 999' /etc/passwd
Run Code Online (Sandbox Code Playgroud)

如果第三个字段大于999,则使用awk字段分隔符:并指示它打印该行.如果您只想打印第一个字段(用户名)或根据字段构造一些新行,这是一个起点:

awk -F: '{if ($3 > 999) print "user", $1, "uid", $3}' /etc/passwd
Run Code Online (Sandbox Code Playgroud)