どーも、ぐるたか@guru_takaです。
adbコマンドで複数のAndroid端末のデバイスを取得し、一括処理する機会がありました。その時のメモを残しておきます。
シェルスクリプト
まずはコードから公開します。
コマンドライン
devices=`adb devices | grep device$ | cut -f 1`
echo $devices
簡単な解説
adb devicesで、以下のようなデータが取得できます。
コマンドライン
ほしい情報はList of devices attached
~~~~~~~ device
~~~~~~~ device
~~~~~~~のみ!
なので、grep device$で検索し、行の末尾がdeviceの行を取得します。ちなみに、 | 次のコマンドに進むという意味です。
参考
grepでこういう時はどうする?Qiita
次に~~~~~~~の情報だけがほしいので、cut -f 1で最初の要素だけ取得すれば完了です!
参考
cutコマンドについてまとめました 【Linuxコマンド集】エンジニアの入り口
最後に
以上になります。デバイス情報を配列化して、for構文でデバイスごとに処理すると良いでしょう。
参考
BashでStringから配列に変換してfor文で回すくらげになりたい。
応用になりますが、xargsを使えば、並列処理できます。こちらもぜひお試しください!
参考
xargs を使ってカジュアルに並列処理たごもりすメモ


コメントを残す