У меня есть следующая команда, которая берет строки из файла Allergens , основываясь на строках из файла IDs .
awk '
FNR==NR{
a[$1]
next
}
/^Query/ || $2 in a
' IDs C100_Allergens | grep -B 1 'Hit: ' | grep -v '^--' > C100_Allergens_matches.txt
Однако у меня есть множество sample_Allergens файлов, и я хочу запустить его в al oop как таковом, где list - это файл с другим примером Имена:
for i in `cat list`
do
awk '
FNR==NR{
a[$1]
next
}
/^Query/ || $2 in a
' IDs "$i"_Allergens | grep -B 1 'Hit: ' | grep -v '^--' > "$i"_Allergens_matches.txt
done
Я пробовал это l oop, включая использование флага переменной для awk, т.е. -vi = "$ i":
for i in `cat list`
do
awk -v i="$i" '
FNR==NR{
a[$1]
next
}
/^Query/ || $2 in a
' IDs "$i"_Allergens | grep -B 1 'Hit: ' | grep -v '^--' > "$i"_Allergens_matches.txt
done
Я только продолжаю становиться пустым файлы. Заранее спасибо за помощь!