Подстановка Bash, которая соответствует всем файлам, кроме файлов с определенным расширением, которая работает с именами файлов, которые содержат символы точки

После установки xinputя смог использовать команды:

xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 0

для отключения и

xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 1

, чтобы повторно -включить сенсорную панель.

Моя ОС — Debian 9 Stretch с Mate DE. Но как ни странно, я нашел этот конкретный ответ здесь (кредит, где кредит должен):

https://elementaryos.stackexchange.com/questions/7160/how-i-can-disable-enable-my-laptops-touchpad-on-elementary-os-loki

Спасибо RussellB, GAD3R, Christopher Díaz Riveros и Stephen Rauch за своевременную помощь с ответами и редактирование моего опубликованного вопроса. Теперь я перехожу к сообщению по ссылке выше, чтобы посмотреть, смогу ли я адаптировать и использовать остальные опубликованные инструкции cipricus (, которые были для Elementary OS ), в моей среде Debian 9 Mate DEnvironment, чтобы превратить это в переключатель горячих клавиш. М возможно, я могу загрузить его в комбинацию Fn + F5, упомянутую выше.

10
10.12.2019, 17:03
2 ответа

*.!(mp3)совпадает с foo.bar.mp3, потому что за этим foo.следует bar.mp3, то есть , а неmp3.

Вам нужно !(*.mp3)здесь, что соответствует всему, что не заканчивается на .mp3.

Если вы хотите сопоставить файлы, имя которых содержит по крайней мере один .(, отличный от ведущего, который сделает их скрытым файлом ), но не заканчивается на .mp3, вы можете сделать !(*.mp3|!(*.*)).

19
27.01.2020, 19:59

самый простой способ, который я могу придумать:

find ${path-to-folder} -type f  | grep -vE ".*\.mp3$"

Вы находите все файлы в папке и передаете их обратно расширенному grep:

Найти все файлы в папке

find ${path-to-folder} -type f 

Обратный grep и использование регулярного выражения для фильтрации по расширению

grep -vE ".*\.mp3$"

Флаги Grep:

  • -vобратная группа

  • -Eрасширенный grep (использование регулярного выражения)

Объяснение регулярного выражения:

  • .*означает от 0 до любого количества символов, любого возможного символа

  • \.ищет реальную точку

  • mp3для строки, формирующей расширение

  • $означает EOL

2
27.01.2020, 19:59

Теги

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