У меня есть мастер-файл (master.txt), который содержит несколько строк по 4-7 символов в каждой строке (~ 38213 строк).У меня также есть папка с данными, которая содержит несколько файлов (file1, file2 и т. Д.), Которая также содержит несколько строк из 4-7 символов.
Вопрос в том, что я знаю, что если я перейду в рабочий каталог и наберу
cat * | grep -c 'value'
, я получу количество вхождений 'value' во всех файлах вТекущий каталог.Что если я захочу пройтись по «значению», которое читается из мастер-файла?Я знаю, что с функцией 'while read' можно что-то сделать, но объединение двух не работает.Например:
masterfile="path/to/masterfile/master.txt"
foldername="path/to/folder"
cd foldername
while IFS='' read line || [[ -n "$line" ]]
do
echo cat * | grep -c $line >> /path/to/output/file.txt
done < $masterfile
Но я получаю 0.Есть мысли?