逐行显示Linux系统用户的代码

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

相关推荐