2016-04-04 3 views
1

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

Может кто-нибудь объяснить, как эти команды действительно работают?

awk '1;{print ""}' filename 

awk 'BEGIN{ORS="\n\n"};1' filename 

Благодаря

+0

действительно ли эти два утверждения действительно делают то, что вы хотите? что вы подразумеваете под двойным пространством? Если ваш исходный файл равен 100Kb, после запуска этого файла у вас есть 200kb-файл? Эти два утверждения не делают ничего, кроме изменения разрыва одной строки на две. – Kent

+1

Вторая команда может быть записана как 'awk -v ORS =" \ n \ n "1 filename' точно так же. –

ответ

3

Ваш первый пример использует две общие ярлыки AWK: 1 это просто шаблон, который всегда верно, поэтому действие по умолчанию, который является «напечатать строку», выполняется для каждой строки. Тогда существует правило с пустым шаблоном (что также всегда верно, но вы не можете опустить как шаблон, так и действие), который в своем действии просто печатает пустую строку.

Ваш второй пример изменяет O utput R ecord S eparator, который, как правило, только один конец-линии, чтобы быть два, так что просто скопировать каждую строку будет достаточно. (Правила BEGIN выполняются до того, как будет прочитан входной файл.)

Смежные вопросы