0
的问题的关键字列表:我在文件调用keywords.txt这样的关键字列表查找按名称的文件列表中给出的关键字列表和发现,并没有发现
141367
141374
141376
141368
和我需要使用它来搜索一个大的复杂文件夹,以查找名称中包含任何关键字的文件。我需要两份不同名单的报告。
- 找到的文件列表包含其名称中的任何关键字。
- 在任何文件名中都找不到的关键字列表。
帮助?
的问题的关键字列表:我在文件调用keywords.txt这样的关键字列表查找按名称的文件列表中给出的关键字列表和发现,并没有发现
141367
141374
141376
141368
和我需要使用它来搜索一个大的复杂文件夹,以查找名称中包含任何关键字的文件。我需要两份不同名单的报告。
帮助?
未经检验
files=$(find folder_name -type f | fgrep -f keywords.txt)
not_found=$(comm -23 <(sort keywords.txt) <(fgrep -f keywords.txt <<< "$files" | sort)
这里的东西在bash
(ver4 +)
#!/bin/bash
filecontent=($(<file))
shopt -s globstar
for file in **
do
found="0"
for word in ${filecontent[@]}
do
case "${file##*/}" in
*"$word"*)
echo "file found: $file with keyword: $w"
found="1"
;;
esac
done
case "$found" in
"0") echo "No keyword file: $file";;
esac
done
“文件”查询搜索文件的内容,你会怎么只是搜索的文件的名称? – user366735
Woops,我把它拿回来。但它看起来像'文件'查询刚刚列出目录中的所有文件,它没有根据keywords.txt文件过滤它。 – user366735
我也回来了。第一个查询效果很好。第二个不适合我。 'fgrep -f keywords.txt <<<“$ files”|排序'产生了一个文件名列表,而不是关键字列表。 – user366735