Я думаю, что использование awk
делает команду более простой и удобной при работе с файлами CSV. Она имеет естественную поддержку концепции полей, что значительно облегчает жизнь.
awk -F, '$6 == "Happy" { count++ } END { print count }' file.csv
Команда выглядит следующим образом:
awk - The command to run
-F, - Use a comma as the field separator
$6 == "Happy" - Only match lines where the sixth field equals "Happy"
{ count++ } - For each line matched, add one to the "count" variable
END - When all that is done...
{ print count } - ...print the value of "count"
file.csv - The file to read from
(Я бы сделал это комментарием, но это было бы нечитабельно.)
Поскольку у вас пока нет ответов, я могу, по крайней мере, дать вам некоторое чтение, которое может помочь:
Вот масса вещей, связанных с модификацией клавиатуры. Игнорируйте «сочинение», чтобы начать с:
В USB есть два протокола, применимых для клавиатур :: основной протокол HID и упрощенный «протокол загрузки» для клавиатур.
Обработка всех клавиш-модификаторов как клавиш Shift может быть вызвана тем, что система изначально использовала упрощенный протокол загрузочной клавиатуры (модуль usbkbd
)вместо основного протокола HID в сочетании с тем фактом, что протокол загрузочной клавиатуры поддержка может быть плохо реализована на этой конкретной клавиатуре. Но это всего лишь дикая догадка.
По-видимому, вы можете увидеть сообщение типа USB HIDBP Keyboard 14cf:0056
в выводе dmesg
, если протокол загрузки используется. Что вам говорит sudo dmesg | grep HID
? (Пожалуйста, добавьте результаты в исходный вопрос.)
Wireshark также может отслеживать USB-трафик, и запуск Wireshark с помощью sudo
может вызвать загрузку модуля usbmon
. Но тот факт, что модуль usbmon
приводит к устранению проблемы, интригует... возможно, он вызывает повторное -обнаружение USB-устройств, поэтому полнофункциональный -модуль драйвера usbhid
получит клавиатуру для себя., или изменяет синхронизацию USB-трафика ровно настолько, чтобы избежать того, что вызывает глупость этой клавиатуры «все модификаторы являются Shift».