![awk 从 passwd 打印,但仅限用户 ID > 1000](https://linux22.com/image/139573/awk%20%E4%BB%8E%20passwd%20%E6%89%93%E5%8D%B0%EF%BC%8C%E4%BD%86%E4%BB%85%E9%99%90%E7%94%A8%E6%88%B7%20ID%20%3E%201000.png)
好吧,我已经完成了:
cat /etc/passwd | awk -F: '{ print $1 }'
- -F ==> 指定文件分隔符来划分行中的数据字段
- $1 ==> 代表输入的第一个字段
但如何只打印id
超过的用户1000
?
答案1
正如 Steeldriver 在评论中指出的那样,您可以简单地向打印语句添加一个条件,以便仅在条件为真时才打印:
awk -F: '$3 > 1000 { print $1 }' /etc/passwd
这里,the$3 > 1000
就是条件。 awk 还可以直接读取文件,因此您可以通过直接向 awk 提供文件名来避免 acat
和管道|
,可以直接像上面那样,也可以使用重定向:
awk -F: '$3 > 1000 { print $1 }' < /etc/passwd