В скрипте #!/bin/sh в переменную значение от выполнения (grep|awk|sed)
Обратные кавычки:

x=`lsusb | grep ... | awk '{print $2}'`
ну так grep и должен выодить строку в которой нашел совпадение 
учите awk 
x=$(lsusb | awk '/regexp/{print $2}')
за команды вида 
cat file | grep 
бейте себя по рукам
можно еще попробовать вот так 
x=$(lsusb | grep regexp | cut -d" " -f 2)