Я некоторое время огляделся и нашел только те вопросы, которые касаются предмета, или предоставил мне ответ, который не работает. Возникает вопрос:Принятие параметров командной строки в awk
Я работаю над заданием для школы, которое требует от меня читать аргументы командной строки для awk-скрипта (что кажется странным для начала, но eh). Мы используем более старую версию Unix, и я запускаю Bash. Этот awk имеет только опции -f и -Fc. В основном, я продолжаю пытаться сделать «awk -f awk_script arg1 arg2 arg3 arg4 arg5 arg6», но каждый раз awk пытается открыть arg1 как файл, а это не так. В качестве примера я видел в других местах решения этого вопроса было:
awk 'BEGIN { print "ARGV[1] = ", ARGV[1] }' foo bar
Он должен был напечатать «Foo», но в этой системе я только получить выход «ARGV [1] = AWK: не могу открыть Foo». Итак, в общем, есть ли способ обойти это? Может ли awk использовать эти старые аргументы командной строки и использовать их для чего-либо, кроме входных файлов? Инструктор отмечает файл, намеченный на вышеупомянутое использование (печати foo), но его программа даже не запускается, поэтому ...
Любая помощь будет принята с благодарностью.
После редактирования: Использование SunOS 5.10 и это AWK не поддерживает опцию -v, ТОЛЬКО -f и -Fc
Возможно, это может быть связано с версиями вашей ОС и версией awk, потому что ... » для меня ";-)' $ awk 'BEGIN {print "ARGV [1] =" ARGV [1]}' abc' - output -> 'argv [1] = a'. Измените свой вопрос, чтобы включить вывод из 'uname -a' и' awk -version'. Удачи. (вы не можете получить ответ на -version, тогда ваш awk - довольно оригинальное оборудование;) – shellter
Ха-ха, я не получил ответа от awk -version – WannabeCoder
, учитывая SunOS 5.1, awk, который вы используете, «старый «awk с 1977 года». Попробуйте изменить имя, которое вы вызываете на 'nawk'. (новый awk). Книга авторов awk «Язык программирования Awk» относится к «новому» awk и была опубликована в 1988 году, но по-прежнему настоятельно рекомендуется. «Эффективное программирование на Awk» (2001) тоже великолепен и охватывает многие улучшения, сделанные для gawk (gnu-awk). Удачи. – shellter