どーも、ぐるたか@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 を使ってカジュアルに並列処理たごもりすメモ
コメントを残す