перенаправить вывод скрипта awk в файл - PullRequest
2 голосов
/ 28 февраля 2011

Я создал скрипт awk.Я хочу сохранить его вывод в файл.Но

awk -f a.awk >meta.txt

не работает.может кто-нибудь сказать мне, почему это происходит?Может кто-нибудь предложить, какая команда лучше всего подходит для создания файла с определенным форматомМожно ли использовать awk для этой цели?

Ответы [ 5 ]

2 голосов
/ 28 февраля 2011

Если сценарий AWK не обрабатывает файл или не получает входные данные из канала, весь сценарий должен находиться в блоке BEGIN.

BEGIN { print "foo"
        print "bar"
        while (a < c) a+=b
        print a, b, c
}
1 голос
/ 28 февраля 2011

когда вы вызываете скрипт awk с помощью -f, убедитесь, что вы включили имя файла для обработки. Распространенная ошибка - не указывать

awk -f a.awk [filename] > output.txt

или если ваш awk-скрипт предназначен для ввода в stdin, убедитесь, что вы правильно передаете ему stdin. например,

some command | awk -f a.awk
1 голос
/ 28 февраля 2011

awk требует ввода.Передайте некоторые данные через команду, например:

ls -l | awk -f a.awk > meta.txt

Или:

awk -f a.awk -- somefile.with.input > meta.txt
1 голос
/ 28 февраля 2011

Вы даете awk какой-либо вклад?Если он сидит там, ничего не делая, и вы нажимаете ^ D, и это заканчивается, вы ничего не давали на STDIN.Как выглядит ваш скрипт a.awk?

Попробуйте:

cat input.txt | awk -f a.awk > meta.txt
0 голосов
/ 28 февраля 2011
script -a -c "awk -f a.awk" meta.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...