使用xargs同步文本中单词出现个数

#!/bin/bash
# 分析一个文本文件中单词出现的频率. 

# 使用 'xargs' 将文本行分解为单词.

# 检查命令行上输入的文件.
ARGS=1
E_BADARGS=65
E_NOFILE=66

if [ $# -ne "$ARGS" ]
# 纠正传递到脚本中的参数个数?
then
  echo "Usage: `basename $0` filename"
  exit $E_BADARGS
fi

if [ ! -f "$1" ]       # 检查文件是否存在.
then
  echo "File "$1" does not exist."
  exit $E_NOFILE
fi



#####################################################################
cat "$1" | xargs -n1 | 
#  列出文件, 每行一个单词.
tr A-Z a-z | 
#  将字符转换为小写.
sed -e 's/.//g'  -e 's/\,//g' -e 's/ /
/g' | 
#  过滤掉句号和逗号,
#+ 并且将单词间的空格修改为换行,
sort | uniq -c | sort -nr
#  最后统计出现次数, 把数字显示在第一列, 然后显示单词, 并按数字排序.
#####################################################################

exit 0
原文地址:https://www.cnblogs.com/zx3212/p/9138822.html