逐行显示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分段处理。

相关内容