📅  最后修改于: 2023-12-03 15:29:35.819000             🧑  作者: Mango
如果你需要统计一个目录中所有文件中某种 pattern 的出现次数,可以使用 Bash 编写一个简单的脚本来实现。
grep
命令查找 pattern 并统计次数;#!/bin/bash
# 目录路径
dir_path="/path/to/directory"
# 匹配的 pattern
pattern="example"
# 统计总次数
count=0
# 遍历目录中的所有文件
for file in "$dir_path"/*; do
# 判断文件是否是文本文件
if [ -f "$file" ] && [ "$(file -b --mime-type "$file")" == "text/plain" ]; then
# 使用 grep 查找 pattern 并统计次数
num=$(grep -c "$pattern" "$file")
if (( num > 0 )); then
# 输出文件名和次数
echo "$file: $num"
# 累加总次数
count=$((count + num))
fi
fi
done
# 输出总次数
echo "Total count: $count"
for
循环遍历目录中的所有文件,"$dir_path"/*
表示路径下的所有文件(不包括子目录),如果想要包括子目录中的文件,可以使用 "$dir_path"/**/*
;grep -c
命令查找 pattern 并统计次数,-c
表示只输出匹配行的计数;将以上代码保存为一个脚本文件(例如 count.sh
),然后在终端中执行:
$ chmod +x count.sh
$ ./count.sh
以上代码只是一个简单的实现,可以根据实际需求进行修改和扩展。这里介绍的是 Bash 的一些基本语法和命令,如果想要了解更多关于 Bash 的知识,可以参考 Bash 脚本教程。