Я действительно не понимаю, почему переменная PROJECT
не раскрывается должным образом в последней строке кода (, если только вы не ищете сгенерированный файл не в том месте ), но я вижу что вы неправильно двойные кавычки расширяете свои переменные. Отсутствие двойных кавычек может вызвать проблемы, если $PROJECT
содержит пробелы, символы новой строки или любой другой символ, характерный для оболочки.
Вы также прыгаете через множество обручей для чего-то, что можно было бы сделать с помощью одной awk
программы:
proj=$("temp/${proj}_selected_Bif"
Эта awk
программа читает два файла ${proj}_species.txt
и ${proj}_genera.txt
. При чтении первого файла его третий столбец используется для создания ключа в ассоциативном массиве или хеше species
. Когда мы начинаем читать второй файл, нас интересуют только те строки, которые содержат строку Bifidobacterium
и второй столбец которых не является ключом в хеше species
. Для этих строк мы выводим второй столбец.
Весь вывод идет на temp/${proj}_selected_Bif
.
Обратите внимание на двойные кавычки всех раскрытий переменной proj
. Я использовал имя переменной в нижнем регистре -, поскольку переменные в верхнем регистре -зарезервированы для системных переменных и переменных среды оболочки.
См. также
Я смог исправить это, установив fltk с помощью sudo pacman -S fltk
.