Как обновить переменную из функции AWK - PullRequest
0 голосов
/ 22 октября 2018

Я запускаю этот скрипт из цикла внутри другого скрипта и хочу: a) распечатать ошибки в файл, отслеживая номер строки, имя файла и ошибку.б) Я хочу напечатать в другом файле уникальные имена файлов, в которых была обнаружена ошибка, при условии, что в одном файле может быть более одной ошибки, и мне не нравятся повторы.

Я знаю, что яможно сортировать |уникальный файл в конце из вызывающего скрипта, но ... Есть ли другой метод?Что-то вроде:

if(tempVar != FILENAME)
{
print FILENAME >> uniqueFiles;
}
tempVar= FILENAME;

вот мой сценарий

awk '
function errorHandler(error1)
{
print FILENAME >> uniqueFiles;
print FILENAME";"NR";"error >> errorListing;
uniqueFiles = FILENAME;
    }
BEGIN {
uniqueFiles="files.txt";
errorListing="errorList.txt";
error1="Error code 1"
    }
{
if(NR>1)
{
    if(length($1) != 10)
    {
        errorHandler(error1);
    }
}
}
END{}' $1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...