如何編寫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