Проверка и копирование уникальных строк

Первый grep:

cat -n 1 log* | grep -B95 -A1 "Response-Code: 412" | grep -B6 -A3 -E '\"MACAddress\": \"\"' >> mylog

У меня есть текстовый файл (результат первого grep) с данными:

5283089 ID: 9463885 5283090 Address: https://xxx.xxx.xxx.xxx:xxxx/login/follow 5283091 Encoding: UTF-8 5283092 Http-Method: POST 5283093 Content-Type: application/json 5283094 Headers: {Accept=[*/*], Content-Length=[423], content-type=[application/json], Cookie=[JSESSIONID=wyGHZLNLZdph0m1ZWb1SgRNpFNCJVVQlvmxnpHPqS!-1008111251!1506299176689], Host=[xxx.xxx.xxx.xxx:xxxx]} 5283095 Payload: { "device":{ "startDate": "1392246000000", "MACAddress": "", "status": "true", "deviceName": "Still", "IPAddress": "xxx.xxx.xxx.xxx", "dhcp": "true", "uuid":"" } } 5283096 -------------------------------------- [189132] 5283097 2017-09-25 03:26:17,099 [DEBUG][Mapper] 0002-1401: Follow required. [189132] 5283098 Exception: 0002-1401: Follow required.

Через некоторое время я сделаю второй grep, и у меня будут строки с теми же данными и новыми данными. Мне нужно проверить старые данные в моем файле и не записывать эти данные, а записывать новые данные в файл. Я попытался:

readarray -t LINE <<< "$(cat -n 1 log* | grep -B95 -A1 "Response-Code: 412" | grep -B6 -A3 -E '\"MACAddress\": \"\"')" for ((a=0; a<${#LINE[*]}; a++)) do cat mylog | grep grep "${LINE[$a]}" res=$? if ((res>0)) then echo "Line present in the mylog file" else echo "${LINE[$a]}" >> mylog fi done

, но у меня есть некоторые проблемы с проверкой dat - я не могу grep некоторые «LINE» ([5], [7], [8]) Возможно, вы знаете, почему Я не могу grep эти данные?

0
задан 25 September 2017 в 14:02

0 ответов

Другие вопросы по тегам:

Похожие вопросы: