Будет ли использование дисплея влиять на производительность?

Это может ответить на ваш вопрос:

awk 'NR==FNR{++a[$2,$3];next} {line++;if(!(a[$2,$3])){print line}}' record1 record2

Объяснение:

FNR==NR

Когда у вас есть два (или более) входных файла для awk , FNR вернется к 1 при первом строки следующего файла, тогда как NR будет продолжать увеличивать с того места, где было остановлено. Проверяя FNR == NR , мы, по сути, проверяем , чтобы увидеть, анализируем ли мы в данный момент первый файл.

++a[$2,$3]

Если мы анализируем первый файл (см. Выше), то создаем ассоциативный массив с первым полем $ 2 и вторым полем $ 3 в качестве ключа и после увеличения значения на 1. Это, по сути, позволяет нам создать список "видели".

next

Эта команда указывает awk не обрабатывать дальнейшие команды, а читать следующую запись и начинать заново. Мы делаем это, потому что file1 предназначен только для установки ассоциативного массива

!(a[$2,$3])

Эта строка выполняется только тогда, когда FNR == NR ложно, т.е. мы не анализируем file1 и, следовательно, должны анализировать file2. Затем мы используем первое поле $ 1 и второе поле $ 2 файла file2 в качестве ключа для индексации в нашем «просмотренном» списке, созданном ранее. Если возвращенное значение равно 0, это означает, что мы не видели его в file1, и поэтому мы должны распечатать эту строку. И наоборот, если значение не равно нулю, то мы действительно видели его в file1, и поэтому нам не следует печатать его значение. Обратите внимание, что! (A [$ 2, $ 3]) эквивалентно! (a [$ 2, $ 3]) {print}, потому что действие по умолчанию, когда оно не задано, - это распечатать всю строку.

1
24.01.2017, 05:17
1 ответ

Простое подключение устройства просмотра, такого как монитор/телевизор, к порту дисплея на вашем сервере не повлияет на производительность. Технически ОС уже готова послать сигнал дисплея и ждет, пока вы подключите дисплей для приема. Действие отправки сигнала даже не будет зарегистрировано как интенсивное на любой машине, выпущенной после 1980 года (просто немного юмора).

Если вам нужно установить специальные драйверы, программное обеспечение и т.д., чтобы вывести дисплей, это может повлиять на производительность. Самое главное, чего не следует делать, это устанавливать графический интерфейс или что-либо еще, потребляющее такты - например, специализированное программное обеспечение для вывода ТВ.

2
27.01.2020, 23:34

Теги

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