標籤:linux shell awk
最近自己一直在學習Linux,總感覺學的不少,但是學會並能靈活運用的不多。今天在研究vsftpd的時候,需要把系統內建使用者(一般是UID小於500的使用者)添加到/etc/vsftpd/ftpusers或者/etc/vsftpd/user_list。於是,自己就有個想法,怎麼能擷取UID小於500的使用者列表呢?
根據自己的邏輯和想法,寫了一個指令碼,如下:
寫一個指令碼,找出/etc/passwd檔案中,UID小於500的使用者,並顯示其使用者名稱。
---------------------------------------------------------------------------
#!/bin/bash
#
sed ‘s/ /--/g‘ /etc/passwd > /tmp/passwd
for i in `cat /tmp/passwd`; do
touch /tmp/tmp.txt && echo $i > /tmp/tmp.txt
SYSID=`cat /tmp/tmp.txt | cut -d: -f 3`
if [ $SYSID -lt 500 ]; then
SYSNAME=`cat /tmp/tmp.txt | cut -d: -f 1`
echo $SYSNAME
rm -f /tmp/tmp.txt
else
continue
fi
done
rm -f /tmp/tmp.txt
rm -f /tmp/passwd
-----------------------------------------------------------------------------
經過幾次修改和調試,發現基本可以實現上述功能。總感覺這個指令碼很拙劣,網上肯定有更簡單的寫法,於是就網上搜了一下,不搜不知道,一搜嚇一跳。原來只需要一行就可以搞定了:
cat /etc/passwd | awk -F: ‘$3<500‘ | cut -f 1 -d :
通過以上,總結如下:
1、做到並不意味著做好。目前知道的只是皮毛,還有很多東西需要學習,需要提高。
2、awk的功能確實強大,要好好研究研究。
3、書本、網路或視頻中的學習資料,看過看懂並不重要,重要的是要及時歸納總結,消化吸收。
4、僅以此,記錄自己Linux學習之路,時刻警醒自己。
本文出自 “我的IT技術部落格” 部落格,請務必保留此出處http://pancho.blog.51cto.com/1587402/1544602
Linux shell學習之找UID小於500使用者