命令如下:

cat nowcoder.txt | xargs -n1 | sort | uniq -c | sort -n | awk '{print $2, $1}'

现在一步步地看一下各个命令的作用

cat 查看内容

[root@iZbp18vd1p2tytbwn5vgaqZ ~]# cat nowcoder.txt
welcome nowcoder
welcome to nowcoder
nowcoder

xargs 转为单行输出

[root@iZbp18vd1p2tytbwn5vgaqZ ~]# cat nowcoder.txt | xargs -n1
welcome
nowcoder
welcome
to
nowcoder
nowcoder

sort 将结果按照字符大小排序

[root@iZbp18vd1p2tytbwn5vgaqZ ~]# cat nowcoder.txt | xargs -n1 | sort
nowcoder
nowcoder
nowcoder
to
welcome
welcome

uniq 统计重复行

[root@iZbp18vd1p2tytbwn5vgaqZ ~]# cat nowcoder.txt | xargs -n1 | sort | uniq -c
      3 nowcoder
      1 to
      2 welcome

sort 对第 1 列统计结果排序

[root@iZbp18vd1p2tytbwn5vgaqZ ~]# cat nowcoder.txt | xargs -n1 | sort | uniq -c | sort
      1 to
      2 welcome
      3 nowcoder

awk 换行输出

先输出第 2 行,再输出第一行

[root@iZbp18vd1p2tytbwn5vgaqZ ~]# cat nowcoder.txt | xargs -n1 | sort | uniq -c | sort | awk '{print $2,$1}'
to 1
welcome 2
nowcoder 3