USBデバイスのカテゴリとストレージデバイス番号を確認するには?

USBデバイスのカテゴリとストレージデバイス番号を確認するには?

接続されているUSBデバイスが大容量ストレージデバイスであることを確認し、その場合はストレージデバイス番号を確認するスクリプトを作成しています。また、複数の接続されたUSBスティックでも動作したいと思います。

基本的なアイデアは次のとおりです。

一致するものがあれば、lsusb -t | grep Class=MassデバイスIDを変数として保存します。

   |__ Port 4: Dev 5, If 0, Class=Mass Storage, Driver=usb-storage, 480M
               ^^^^^

つまり、「Dev x」の後の単語が私の検索と一致する場合はどうなりますか?

私はLinux、bash、正規表現の経験はあまりありません。これが奇妙な場合や実用的でない場合は、他の提案を受け入れることができます。

答え1

awkを使用できます。

lsusb -t | awk -F '[:,]''/Class=Mass/{print $2}'

Class=Mass区切り文字がリンを検索し:,見つかった場合はClass=Mass出力の2番目の列を印刷します。結果は次のとおりです。

Dev 5

関連情報