Linux學習腳本的最後一題,需要學習者合理使用sed和awk,剛學還不太精,下面是個人關於這題寫的腳本:
#!/bin/bash
# output system users......
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
etc_passwd=`cat /etc/passwd | wc -l`
for (( i=1; i<=$etc_passwd; i=i+1))
do
content_line=`cat /etc/passwd | sed -n "$i"p | awk 'BEGIN {FS=":"} {print $1}'`
echo "The $i account is $content_line"
done
代碼中使用了for循環作為條件進行輸出信息,取sed行然後將行進行awk分段處理。