编写一个shell脚本awkexe.sh,其中使用awk命令将/etc/passwd的内容按照以下方式输出到文件awk.out中:
- 首行显示列表标题:List of Users 标题后输出分割线
- 每行只显示用户名、组ID和使用的默认shell路径,并在最上方显示字段名称,如UserName,GroupID,Shell Path,注意字段名与内容要按列对齐
- 在列表下方输出分割线
- 在分割线下方输出带提示的统计信息,统计每种shell路径出现的次数
#!/bin/bash
awk -F: 'BEGIN {
printf ("List of Users \n")
printf ("-----------------------------------------------------------\n")
printf ("%-20s %-15s %-20s\n", "UserName","GroupID","Shell Path")
}
{
printf ("%-20s %-15s %-20s\n", $1, $4, $7)
count[$7]++
}
END {
printf ("-----------------------------------------------------------\n")
printf ("Count Results\n")
for (x in count)
printf ("%-20s %-5d\n" , x, count[x])
}' /etc/passwd > awk.out
注意:
- 命令要写在一行
- awk的语法和shell自带的语法不一样