從/etc/passwd
,我只需要「用戶」部分。使用shell腳本從passwd文件獲取用戶名
實施例:
backup:x:34:34:backup:/var/backups:/bin/sh
具有backup
作爲用戶。
要提取我現在用的這個用戶部分:
perl -pe 's/^(.*?):.*/\1/g' < /etc/passwd
這是比我老的方法少了幾個大字:
while read line; do echo ${line%%:*}; done < /etc/passwd
,但它聽起來像一個矯枉過正。這是寫很多文字。
谷歌搜索給我:
awk -F ':' '{print $1}' < /etc/passwd
這相當於,我想?是嗎?
cmp <(perl -pe 's/^(.*?):.*/\1/g' < /etc/passwd) <(awk -F ':' '{print $1}' < /etc/passwd)
有沒有一個標準的UNIX工具來做到這一點或使用Perl更簡單的方法?或者cut
?
我是初學者。
順便說一句,我想我的手在Python作爲內容,但我吮吸它,可能有更好的方法來做到這一點在Python :(
python -c 'print "\n".join([u[:u.find(":")] for u in open("/etc/passwd")])'
編輯:實際上,也許更喜歡本作的Python:
python -c 'print "\n".join([u.split(":")[0] for u in open("/etc/passwd")])'
嗯...仍然非常詳細。
媽媽咪呀,那個'切'單班輪只是真棒,男人。我做錯了一切! – Robottinosino