В gawk эти две цитаты из руководства описывают проблему:
An action consists of one or more awk statements, enclosed in braces (‘{…}’). Each statement specifies one thing to do. The statements are separated by newlines or semicolons.
Точка с запятой является " разделителем ", но не " терминатором ".
Единственным допустимым терминатором действия является закрывающая фигурная скобка(}
).
Следовательно, то, что следует за закрывающей скобкой действия (}
), должно быть другим шаблоном {действие}
В "man mawk " есть другое описание, которое может помочь прояснить, что должен делать awk:
Statements are terminated by newlines, semi-colons or both. Groups of statements such as actions or loop bodies are blocked via {... } as in C. The last statement in a block doesn't need a terminator.
«Человек наук » объясняет это так:
The pattern comes first, and then the action. Action statements are enclosed in { and }.
И, если вы хотите остановиться на деталях, прочтите описание POSIX:
action : '{' newline_opt '}'
| '{' newline_opt terminated_statement_list '}'
| '{' newline_opt unterminated_statement_list '}'
;
И найдите то, что является «незавершенным» списком операторов.
Или, проще, найдите Действие , чтобы прочитать:
Any single statement can be replaced by a statement list enclosed in curly braces. The application shall ensure that statements in a statement list are separated by
or characters.
Снова:are separated by
Таким образом, вы в настоящее время запускаете свой скрипт в Windows... действительно ли это цель?
Если да, то я предполагаю, что в вашем сеансе SSH, вероятно, отсутствует правильно установленный PYTHONPATH
, потому что сообщаемая ошибка заключается в том, что он просто может найти модуль numpy
. Я действительно не знаю, как python работает под Windows, но, по моему мнению, это, вероятно, потому, что ваш sshuser
не имеет доступа к numpy
модулю (, возможно, установленному другим пользователем? ).
Если вы хотите выполнить скрипт под Linux после его загрузки с хоста Windows, вам, вероятно, следует запустить
sshuser@windows_host_IP "type C:/Users/sshuser/PythonScripts/myscript.py" | python -
Эта команда заставит Windows вывести скрипт на стандартный вывод и передать его вашему локальному интерпретатору pyton