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