Что делает этот скрипт awk? - PullRequest
1 голос
/ 01 ноября 2011

У меня есть скрипт, который мне нужен для обратного инжиниринга, но скрипт, похоже, не работает.Ниже приведен фрагмент сценария, где он ломается.

awk 'BEGIN{while ((getline line < "file1") > 0){F=../file2

С аналогичными утверждениями, повторяемыми один за другим.Очевидная проблема заключается в том, что есть открытия ' и {, но нет закрывающих.Я мог бы попытаться исправить это, но я действительно не знаю, что это даже пытается сделать.У меня есть некоторый опыт работы с командами Linux, но не очень много.

  1. Я понимаю, что file2 - это местоположение файла, но что такое F=?
  2. Там есть начало ', но почему?Должен ли где-то быть заключительный или вообще не должно быть?

Кто-нибудь знает или имеет какие-либо идеи относительно того, что это должно быть?

1 Ответ

2 голосов
/ 01 ноября 2011

Насколько я могу судить, эта строка awk разбита несколькими способами.

  1. Она должна иметь завершающий ', ', обертывающий команду / скрипт, который вы передаетедля запуска команды awk.
  2. F=../file1 выглядит как присвоение переменной, но она не заключена в кавычки, поэтому awk думает, что вы пытаетесь написать регулярное выражение, которое не определяется секундами /.
  3. Нет завершения }.

Скрипт выглядит неполным, так как он должен быть разбит на это:

# read from file1 until EOF
while ((getline line < "file1") > 0) {
    F="../file2"
    # what now?
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...