Есть несколько проблем с вашим кодом:
somefile.txt
, следовательно, стираете то, что было помещено в предыдущую строку. Вместо этого вам, вероятно, следует использовать >> somefile.txt
или переместить > somefile.txt
после ключевого слова done
. xxd
дампом ), но обрабатываете их так, как если бы это были текстовые данные, разделенные новыми строками. С двоичными данными read
и echo
не будут работать должным образом. Почему бы просто не передать содержимое файлового дескриптора в xxd
и не сохранить результат в файл? т.е. именно это:
xxd -ps <&4 | sed 's/../&\ /g' > somefile.txt &
ATTRS{model}=="USB DISK 2.0 "
Мне кажется, здесь слишком много пробелов. Это совпадение строк.
Вот пример из 50-default...rules
, подстановочные знаки тоже работают:
ENV{ID_USB_INTERFACES}=="*:0701??:*"