Ознакомившись с версией исходного кода , которая соответствует номеру версии на вашем снимке экрана, я считаю, что это сработает:
theharvester –d syngress.com –l 10 –b google
ИСПРАВЛЕНИЕ: theharvester –d syngress.com –b google
Версия OP не имела флага -l
.
Исходная команда, которую вы пытались запустить, имела префикс ./
и суффикс .py
, что означает: найдите theharvester.py
в текущем каталог и запустите его. Исходя из вашего местоположения, двоичный файл на самом деле называется theharvester
и находится в / usr / bin /
. Итак, как указал @TNW, сценарий был переименован и установлен в / usr / bin /
вместо того места, где автор книги предполагал ваш текущий рабочий каталог. Поскольку / usr / bin /
почти наверняка находится в вашем двоичном поиске $ PATH
, ./
не подходит.
Также важен промежуток между -d
и syngress.com
из-за того, как сценарий анализирует аргументы. Похоже, что пробел присутствовал в исходной команде, которую вы пробовали, но не в предложениях некоторых других комментаторов.
Вы хотите вычислить сумму полей для каждой записи, так что просто:
awk '{sum = 0; for (i = 1; i <= NF; i++) sum += $i; print sum}' < file1 > file2
Фигурные скобки начинают оператор действия , который выполняется в каждой строке ввода; нет предшествующего условия , которое ограничивало бы его выполнение строками, удовлетворяющими такому условию .
В каждой строке:
sum
нулем. NF
), и увеличивать sum
на значение этого поля($i
). sum
.