Perl および ADB コマンドを使用して、logcat ログをキャプチャし、同時にテキスト ファイルに保存しようとしています (携帯電話で手動 PLMN 検索を実行しながら)。私は Python に精通していますが、従来の理由から Perl を使用する必要があります。
ログのキャプチャ中に、次の logcat 文字列 >> /EVENT_NETWORK_SCAN_COMPLETED/ << を待ってから、ログのキャプチャを保存/停止して終了することを望んでいます。
いくつかのオンライン ポインターを使用して以下のスクリプトを実行しようとしましたが、スクリプトが終了しないため、私の方法はおそらくタスクに対して単純すぎると結論付けました。私がどこで間違っているのか、または実際にこのタスクが可能かどうかを誰かに教えてもらえますか? ありがとう。
use strict;
use warnings;
use diagnostics;
sleep(5);
system('adb wait-for-device');
my $CollectLog = system('adb logcat > logcat.txt');
my @Lines = split("\n", $CollectLog);
# process lines
foreach my $Line ( @Lines )
{
if($CollectLog =~ /EVENT_NETWORK_SCAN_COMPLETED/m)
{
print "string matches the pattern\n";
system('adb logcat -d');
last;
}
}