如题所述
每种SHELL的用户个数:
awk
-F":"
'{print
$7}'
/etc/passwd
|
uniq
-c
第2个问题思路:
另外一个需要用for去读passwd的每一行,用awk去取出每行的第一个字段(用户名)赋值给一个变量,取第7个字段(SHELL)赋值给另外一个变量;接下来就判断第7个字段(shell)是否为空,如果为空就输出第一个字段(即用户名)。
太晚了,有时间再把脚本补上来。
awk
-F":"
$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
第二句,如果第一个字段非空,输出该行
(而不是你说的输出第一个域)
begin{fs=":"}
表示以:分隔字段
第一句,如果第一个字段含有root,
输出该行
~表示匹配
~/root/表示匹配root字符串
$1~/root/表示第一个字段匹配root字符串
如果true,
defualt
第二句,如果第一个字段非空,输出该行
(而不是你说的输出第一个域)