Один из подходов - поместить все слова в отдельную строку, а затем выбрать совпадающие строки.
Во-первых, вам нужно решить, что составляет слово. Это любая последовательность буквенных символов (с цифрами?), Любая последовательность символов без пробелов? Хотите ли вы учитывать регистр?
Пример:
tr -s '[:space:]' '[\n*]' < file | grep -i '^a'
Будет ли сообщать последовательности без пробелов, которые начинаются с a
без учета регистра.
Обратите внимание, что GNU tr
правильно работает только с однобайтовыми символами.
Для четырехсимвольных слов используйте grep -xE '. {4}'
.
По совету @jasonwryan я изменил правило udev на:
ACTION=="add", ATTRS{idVendor}=="0930", ATTRS{idProduct}=="1408", ENV{SYSTEMD_WANTS}="usb-auto-sync.service"
с usb -авто -служба синхр.:
[Unit]
Description=Auto Sync USB
[Service]
ExecStart=/home/riccardo/Documents/Scripts/sync-riccardo-usb.sh
StandardOutput=null
[Install]
WantedBy=multi-user.target
Alias=usbauto-sync.service
Я включил службу, и теперь скрипт запускается.