写一个shell脚本统计出一个文件中有多少个单词 并按照降序排列
时间: 2023-07-04 13:15:21 浏览: 172
可以通过以下 shell 脚本来实现统计文件中单词个数并按照降序排列的功能:
```shell
#!/bin/bash
# 统计文件中每个单词的出现次数
word_count=$(cat filename | tr -s ' ' '\n' | sort | uniq -c)
# 将单词出现次数按照降序排列
word_count_desc=$(echo "$word_count" | sort -rn)
# 输出结果
echo "$word_count_desc"
```
其中,`filename` 是要统计单词个数的文件名。该脚本会将文件中的每个单词按照出现次数统计,并将结果按照降序排列后输出。
具体实现方式是,首先使用 `cat` 命令将文件读入,然后使用 `tr` 命令将单词分隔符转换为换行符,并使用 `sort` 和 `uniq` 命令统计每个单词出现的次数。最后,使用 `sort` 命令将单词出现次数按照降序排列。
相关问题
创建一个shell脚本,统计当前目录下文件的个数怎么写
你可以创建一个shell脚本来统计当前目录下文件的个数。以下是具体的步骤:
1. 打开终端,使用文本编辑器(如vi、nano等)创建一个新的shell脚本文件,例如 `count_files.sh`。
2. 在脚本文件中添加以下内容:
```
#!/bin/bash
count=$(ls -1 | wc -l)
echo "当前目录下文件的个数为: $count"
```
这个脚本会使用 `ls` 命令来列出当前目录下的所有文件,然后使用 `wc` 命令来统计文件的个数,并把结果存储在变量 `count` 中。最后,脚本会输出文件的个数。
3. 保存脚本文件并退出文本编辑器。
4. 在终端中使用以下命令来给脚本文件添加执行权限:
```
chmod +x count_files.sh
```
这个命令会把 `count_files.sh` 文件设置为可执行。
5. 在终端中运行脚本文件:
```
./count_files.sh
```
这会执行脚本文件并输出当前目录下文件的个数。
请注意,这个脚本只会统计目录下的文件数,不包括子目录中的文件数。如果需要统计子目录中的文件数,可以使用递归方法或者其他统计方法。
写一个shell脚本来验证yaml文件中的变量是否被使用
可以使用以下的shell脚本来验证yaml文件中的变量是否被使用:
```
#!/bin/bash
filename="example.yaml"
variables=$(grep -Eo '\${.*?}' $filename | sort | uniq)
for var in $variables
do
if ! grep -q "$var" $filename; then
echo "Variable $var is not used in $filename"
fi
done
echo "Check completed!"
```
这个脚本会首先从指定的yaml文件中提取所有的变量名,并对其按照字母序排序去重。然后,对于每个变量,它会判断这个变量是否在文件中被使用。如果某个变量没有被使用,它会输出一个提示。最后,它会输出一个"Check completed!"的提示表示校验完成。
希望这个答案对你有所帮助!如果你有其它问题需要问我,请随时开口。