Почему все каталоги / home, / usr, / var и т. Д. Имеют одинаковый номер inode (2)?

Путаница может быть вызвана тем фактом, что исходный автор использовал то же имя переменной для оболочки:

benchmark=30;gr...

как он / она сделал внутри awk :

awk -vbenchmark=$benchmark

который может или не может присвоить значение переменной оболочки эталонного теста для awk переменная эталонный тест .

Как только awk имеет это значение (в данном случае 30 ), awk проверяет, что шестой столбец вашего входного файла wk.txt больше, чем это значение:

$6 > benchmark

Тест, используя ваш пример, представляет собой сравнение строк:

for > 30

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

Это оценивается как истина, поэтому awk выводит всю строку в wc -l , который считает количество строк. Поскольку у вас есть только одна строка во входном файле, количество строк, в которых шестой столбец больше 30, составляет 1 .

Это значение присваивается переменной оболочки b .

31
01.12.2017, 18:14
0 ответов

Теги

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