Разница в AWK при использовании NOR с печатью и без

1
задан Inian 19 January 2019 в 10:27
поделиться

1 ответ

awk 'NR>2&&NR<5' Input_file - это место, где мы проверяем условие, если номер строки больше 2 и больше 5, затем выполняем действие по умолчанию, которое печатает текущую строку.

В вашем коде awk '{print NR>2&&NR<5}' Input_file, здесь вы используете print, а затем упоминаете условие, которое НЕ работает awk.

awk работает по методу:

Condition_check/regexp{action}

, если НЕТ никакого действия, то по умолчанию произойдет печать текущей строки, которая происходит в вашем первый код.

Дополнительный анализ: Чтобы доказать, что точка {print NR>2&&NR<5} НЕ будет вести себя как метод по умолчанию awk из regexp/condition_check{action}, запустите:

awk '{print (NR>2&&NR<5)}' Input_file

Посмотрите на вывод, что он предоставит:

0
0
1
1
0
0
0
0
0
0

См. Строки 3 и 4, где 1 означает, что условие для этой строки - ИСТИНА, а 0 - условие для этой строки, - ЛОЖЬ. Таким образом, мы можем видеть, что он печатает состояние STATE в выражении print, если мы используем условие в (..), как упомянуто выше.

0
ответ дан RavinderSingh13 19 January 2019 в 10:27
поделиться
Другие вопросы по тегам:

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