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分段处理。