У меня есть некоторые данные в форме с разделителями табуляции, которые дают результат идентификации устройства от пользовательских агентов (UA).но есть несколько строк, в которых устройства ошибочно идентифицированы, и мне нужно изменить их на правильные.
Например, есть случаи, когда iphone или htc wildfire 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, то это тот телефон.Итак, я хочу найти все UA, которые имеют строки HTC и Wildfire, но столбцы 3 и 4 (производитель и модель) неверны, а затем обновить их, указав правильную информацию об устройстве из строки 781, которая, как я знаю, верна.Я вручную вставил бы код, чтобы строка 781 была правильной, и если устройство не было правильно идентифицировано, я бы поместил информацию из столбца 3 и далее в строку 781 для всех этих случаев.Есть несколько таких случаев, и я бы повторил ту же логику для каждого из них.Также есть и другие столбцы, кроме этих четырех, которые я не показывал.
как бы я это сделал в Perl-скрипте (желательно, но решение bash тоже подойдет).