如何编写awk命令来读取/ etc/passwd文件,并打印出仅有/ bin/bash程序作为默认命令shell的任何用户的名称?AWK命令帮助
AWK命令帮助
回答
cat /etc/passwd | awk -F ":" '$7=="/bin/bash" { print $1 }'
awk -F: '/\/bin\/bash$/{print $1}' /etc/passwd
因此/ bin/bash与/ tmp/attack/bin/bash相同吗? – 2010-01-26 20:55:18
好的。像Bear一样检查整个领域是一个更好的方法。 – jamessan 2010-01-26 21:07:28
由于您已将分隔符设置为“:”,为什么要检查整个行是否为bash?使用$ 7 – ghostdog74 2010-01-26 23:39:09
由于这是家庭作业,我不会写代码,你(希望没有人会那样做),但这里是你需要知道:
AWK中的默认字段分隔符是空格;
/etc/passwd
中的字段分隔符是冒号。您可以通过命令行中的FS
变量或-F
更改AWK中的字段分隔符。在
/etc/passwd/
中,shell列在第7个字段中。
那么,在我写这么多的时候,两个人已经为你做了功课。祝你好运!
糟糕,我发布时没有注意到作业标签。 – jamessan 2010-01-26 19:36:54
@OP,您可以用awk
awk 'BEGIN{FS=":"}$7~/bash/{print $1}' /etc/passwd
上述检查对于bash,但不限制为/ bin/bash的。如果您确实需要/ bin/bash,请更改它。
,或者告诉你的老师,你要使用只是外壳
#!/bin/bash
while IFS=":" read -r user b c d e f sh h
do
case "$sh" in
*bash*) echo $user;;
esac
done <"/etc/passwd"
- 1. awk命令需要帮助
- 2. Python帮助命令
- 3. 需要帮助理解awk命令来结合两个文件
- 4. 在bash脚本和awk命令中需要帮助
- 5. 需要帮助的awk命令无法比拟的“
- 6. AWK需要帮助
- 7. mysql命令行帮助(Windows)
- 8. COPY命令需要帮助
- 9. 选择命令帮助
- 10. 选择命令帮助
- 11. PostgreSQL COPY FROM命令帮助
- 12. Ant命令行帮助:iisvdir
- 13. BusyBox帮助,IP命令
- 14. java setLocationRelativeTo命令帮助
- 15. Makefile帮助(和Shell命令)
- 16. 帮助gdb的stepi命令
- 17. UNIX加入命令帮助?
- 18. rle命令的帮助
- 19. Escape awk命令
- 20. Linux Awk帮助代码
- 21. 帮助,选择用awk
- 22. awk的shell脚本帮助
- 23. 卷曲AWK {}打印帮助
- 24. 的Git冻结的帮助命令
- 25. optparse-applicative子命令帮助文本
- 26. VBA中的SQL命令帮助MSAccess
- 27. errbot错误与帮助命令
- 28. 批量需要Dir命令帮助
- 29. P4打印命令的帮助需要
- 30. 需要帮助的tar命令
+1,但没用使用猫! :-)'awk -F:'$ 7 ==“/ bin/bash”{print $ 1}'/ etc/passwd' – 2010-01-26 19:34:03
gbacon是对的,不需要猫。 – 2010-01-26 19:37:29