从输出中计算相同的行

时间:2017-10-17 19:53:42

标签: linux bash

我想列出所有shell,其中包含将此shell设置为默认值的用户数 得到这样的示例输出:

 13 /bin/bash
  6 /sbin/nologin
  1 /usr/sbin/nologin

我设法创建的唯一命令是这样的:

cut -d: -f1,7 /etc/passwd | grep -c bash

仅返回将bash设置为默认值

的用户数

任何人都可以告诉我如何修改它以获得输出,如前所述?

1 个答案:

答案 0 :(得分:1)

首先,您只需要passwd文件中的第7列。用户名只会妨碍用户名。然后排序并使用uniq命令对它们进行计数:

$ cut -d: -f7 /etc/passwd | sort | uniq -c
      2 /bin/bash
     24 /bin/false
      1 /bin/sync
      1 /usr/local/bin/fish
     16 /usr/sbin/nologin