linux 编写一个awk脚本,针对etc/passwd/文件统计每一种shell的用户个数

如题所述

每种SHELL的用户个数:
  awk
-F":"
'{print
$7}'
/etc/passwd
|
uniq
-c
第2个问题思路:
另外一个需要用for去读passwd的每一行,用awk去取出每行的第一个字段(用户名)赋值给一个变量,取第7个字段(SHELL)赋值给另外一个变量;接下来就判断第7个字段(shell)是否为空,如果为空就输出第一个字段(即用户名)。
太晚了,有时间再把脚本补上来。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-08
你的理解错误了
begin{fs=":"}
表示以:分隔字段
第一句,如果第一个字段含有root,
输出该行
~表示匹配
~/root/表示匹配root字符串
$1~/root/表示第一个字段匹配root字符串
如果true,
defualt
print
第二句,如果第一个字段非空,输出该行
(而不是你说的输出第一个域)

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网