gpt4 book ai didi

linux - 如何获取所有文件中出现的单词?但是每个目录的单词数而不是单个数字

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:31:32 24 4
gpt4 key购买 nike

我想在所有文件中获得给定的字数,但每个目录而不是单个字数。我确实通过简单的 grep foo error*.log | 得到字数统计 | wc -l 通过转到特定目录。当目录结构如下所示时,我想获取每个目录的字数。

Directory tree                 
.
├── dir1
│   └── error2.log
└── error1.log
└── dir2
└── error_123.log
└── error_234.log
── dir3
└── error_12345.log
└── error_23554.log

最佳答案

更新:在AIX上可以使用以下命令:

#!/bin/bash

for name in /path/to/folder/* ; do
if [ ! -d "${name}" ] ; then
continue
fi
# See: https://unix.stackexchange.com/a/398414/45365
count="$(cat "${name}"/error*.log | tr '[:space:]' '[\n*]' | grep -c 'SEARCH')"
printf "%s %s\n" "${name}" "${count}"
done

在 GNU/Linux 上,使用 GNU findutils 和 GNU grep:

find /path/to/folder -maxdepth 1 -type d \
-printf "%p " -exec bash -c 'grep -ro 'SEARCH' {} | wc -l' \;

SEARCH 替换为实际的搜索词。

关于linux - 如何获取所有文件中出现的单词?但是每个目录的单词数而不是单个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57614607/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com