ユーザーエージェント(UA)のデバイスIDの結果を示すタブ区切り形式のデータがあります。デバイスが誤って識別されている行がいくつかあり、それらを正しい行に変更する必要があります。データファイル内の行を別の行の値で更新する
たとえば、iphoneやhtc野火UAが別の電話として識別される場合があります。そのため、UAの特定のキーワードを検索することによって、正しいデバイスでデバイス情報を更新する必要があります。例えば、
781 Mozilla/5.0 (Linux; U; Android 2.1-update1; fi-fi; HTC_Wildfire_A3333 Build/ERE27) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17 htc_wildfire_ver1_suba3333 HTC Wildfire Android
これは正しいですが、似たようなケースは
775 Mozilla/5.0 (Linux; U; Android 2.1-update1; fi-fi; HTC Wildfire Build/ERE27) AppleWebKit/525.10+ (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2 (AdMob-ANDROID-20100709) T-Mobile Pulse Android
だから、私はこのような何かをしなければならない間違っています。 UAの列にHTCとWildfireという用語が含まれている場合、それはその電話機です。だから、文字列HTCとWildfireを持つが、列3と4(manufucturerとmodel)が間違っているすべてのUAを探して、私が知っている行781の正しいデバイス情報でそれらを更新したい。私は手動で行781が正しいコードを入れて、デバイスが正しく識別されない場合、これらのすべてのケースの行781の3列目以降の情報を入れます。
もちろんこれは1つのケースで、このようなケースがいくつかありますが、それぞれについて同じロジックを繰り返すことになります。また、私が示していないこれらの4つの列以外の列もあります。
どのように私はこれをperlスクリプト(できればbashの解決策もOKです)で実現します。