awk getline для отображения первых трех строк в файле

Я использую

awk 'BEGIN {while((getline gf < "awk.script") > 0) {print gf}}' 

, чтобы прочитать мне первые 3 три строки шаблона. Могу обойтись с головой -3 . Но я не хочу, потому что мне нужно переключать строки между двумя файлами.

Предположим, что awk.script содержит

line 1
line 2
line 3 <------- until here
line 4 

. Я попытался обновить исходный cmd с помощью этого

 awk 'BEGIN {while((getline gf < "awk.script") > 0) && f{print $gf;f=0};NR<=3{f=1}}'

кода, на который повлияли примеры, приведенные по ссылке: - https://stackoverflow.com/questions/17908555/printing-with-sed-or-awk-a-line-following-a-matching-pattern

Я получаю ошибку

awk: cmd. line:1: BEGIN {while((getline gf < "awk.script") > 0) f{print $gf;f=0};NR<=3{f=1}}
awk: cmd. line:1:                                                ^ syntax error
awk: cmd. line:1: BEGIN {while((getline gf < "awk.script") > 0) f{print $gf;f=0};NR<=3{f=1}}
awk: cmd. line:1:

Как можно это будет сделано? спасибо

-1
23.05.2017, 15:40
0 ответов

Теги

Похожие вопросы