Grep точное количество цифр и некоторые другие символы

Колесо прокрутки мыши фактически создает события кнопки для каждой «метки», на которую вы перемещаете колесо. Нет хорошего способа ускорить это на уровне драйвера (вам придется создавать фальшивые события с временным интервалом, отличным от реальных событий), и на самом деле я никогда не слышал, чтобы драйвер evdev делал это. .

Все свойства Эмуляция колеса , как подсказывает название, предназначены для эмуляции , то есть не являются настоящим физическим колесом прокрутки. Как сказано в справочной странице evdev :

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

Параметр Inertia предназначен для управления моментом запуска эмуляции, чтобы небольшие движения мыши не запускали эмуляцию случайно. И все параметры в любом случае не будут действовать, пока основное свойство Wheel Emulation равно нулю и эмуляция отключена.

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

Итак, если вам нужно поведение, как в Windows или OSX, вам нужно изменить приложение.

5
15.04.2016, 11:39
3 ответа
grep -vxE '([0-9]{5}[,-])*[0-9]{5}'

Сообщает о неверных строках.

Или, если вы также хотите запретить 12345-12345-12345 :

num='[0-9]{5}'
num_or_range="$num(-$num)?"
grep -vxE "($num_or_range,)*$num_or_range"
10
27.01.2020, 20:31

Вам не нужен кот . Делает ли это то, что вы хотите:

 $ grep -v -E '^([0-9]{5}(,|-))+' <FILE>

Например, если ФАЙЛ имеет следующее содержимое:

12345,23456,34567-45678,12345-23456,34567
1,2
12345*23456,34567-45678,12345-23456,34567
123456
1234*23456,34567-45678,12345-23456,34567

результат будет:

$ grep -v -E '^([0-9]{5}(,|-))+' 5d
1,2
12345*23456,34567-45678,12345-23456,34567
123456
1234-23456,34567-45678,12345-23456,34567
4
27.01.2020, 20:31

Для хорошего grep решение, см. ответ Стефана . В качестве альтернативы, вот Perl:

perl -ne 'print if grep{$_!~/^\d{5}$/} split(/[,-]/); ' file 

Это разделит каждую строку ввода на , или - , а затем будет искать элементы разделенного массива, которые не состоят из ровно 5 номеров. Если они найдены, строка печатается.

5
27.01.2020, 20:31

Теги

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