Рейтинг:0

Перенаправление вывода из printf в /dev/tty в awk

флаг dk

У меня вопрос по awk.

#!/usr/bin/nawk -f
{
    если (НФ != 4) {
        error("Ожидается 4 поля");
    } еще {
        Распечатать;
    }
}
ошибка функции ( сообщение ) {
    если (ИМЯ ФАЙЛА != "-") {
        printf("%s: ", ИМЯ ФАЙЛА) > "/dev/tty";
    }
    printf("строка # %d, %s, строка: %s\n", NR, сообщение, $0) >> "/dev/tty";
}

Что значит >"/dev/tty" и >>"/dev/tty" делать?

Это из https://www.grymoire.com/Unix/Awk.html в Пользовательских функциях.

флаг hr
Это для gawk, а не nawk, но см. [5.7 Специальные файлы для стандартных предварительно открытых потоков данных] (https://www.gnu.org/software/gawk/manual/gawk.html#Special-FD)
Logan Lee avatar
флаг dk
@steeldriver, спасибо. я предполагаю, что это перенаправить сообщение об ошибке на stderr.в документе, который вы дали, говорится, что лучше напечатать "ошибка!" >"/dev/stderr".

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.