Я пытаюсь запустить скрипт, который будет отправлять несколько команд awk по следующим строкам:
qsub -l h_vmem=32G -l h_rt=04:00:00 "awk '{if (last != $10) close(last); print >> "/directory/working/"$10 ".txt"; last = $10}' /directory/working/working_file.txt"
Сама команда awk прекрасно работает при запуске в интерактивном сеансе, проблема в том, чтов сочетании с qsub
он возвращает что-то вроде:
error opening awk '{if (last != 0) close(last); print >> '/directory/working: No such file or directory
Изначально я думал, что это можно решить, поставив всю команду awk в двойные кавычки (как я делал выше), но этотакже вернул ту же ошибку.Я понимаю, что это не работает из-за лишних двойных кавычек внутри команды awk. Но Насколько я знаю, мне нужны эти дополнительные двойные кавычки внутри команды.
Я пытался изменить его так, чтобы каждая цитата в первом наборе двойных кавычек была просто одинарнойцитаты, но это не сработало.Затем я попытался:
qsub -l h_vmem=32G -l h_rt=04:00:00 "$(awk ...)"
Но, похоже, это тоже не сработало (или, по крайней мере, после его отправки, оно не вернуло ошибку, но на самом деле не показывало.
Есть ли способ обойти это / какие-либо решения со всеми различными цитатами?