Isso funcionaria?
awk -F", " 'NR == FNR {T[$1] = $2; next} {for (t in T) gsub (t, T[t])} 1' file[12]
Ele lê os "pares de substituição" de "file1" em uma matriz e, em seguida, modifica as linhas "file2" se algum padrão for encontrado.
Eu preciso pegar um arquivo contendo linhas igual a essa falsa:
232.232.232.256:2001, 232.200.200.256:2314
E eu preciso executar através de outro arquivo * .json, e encontrar todas as ocorrências do primeiro "IP" e se a correspondência for encontrada, substitua-o pelo segundo "IP" do primeiro arquivo. Há sempre apenas uma ocorrência exata e o formato é exatamente o mesmo, claro que sem delimitador, neste momento é ",".
Eu decidi que abordagem seria boa, é meu primeiro "script" ou, como dizem alguns, comando mais complicado. Eu usei o linux, então o bash é um caminho, usando algo como IFS = ','; enquanto lido; e provavelmente algum uso de sed ou mabye outra coisa? ... o que eu estou procurando é o que exatamente eu preciso focar para estudo, desde a sua tarefa de trabalho e eu não posso dar ao luxo de python meu caminho para fora do (aprender python) ou estudar mais geralmente scripts e, eventualmente, obter os métodos corretos .
EDITAR:
uma linha do arquivo json eu preciso editar, "IP" a ser alterado com um novo corresponde à linha acima
{"id": "segmenter_509_1", "channel_id": 509, "profile": "profile1", "description": "Cinemax_HD (700 kbps)", "source": "udp://232.232.232.256:2001?sources=XXX.XXX.XXX.XXX&fifo_size=XXXXX&overrun_nonfatal=1", "duration": 10, "verbose": true, "waitForSync": true, "maxseg": 5, "logging_stream": true, "user_option": "-H -1", "encrypt": false, "interleaved": true, "dummy": false, "logging": true, "loglevel": 24, "ignore-errors": -1, "enabled": true, "mux": "vas"},
Cada linha é quase a mesma, apenas alguns valores são chats, mas como eu tenho uma lista de IPs antigos e novos que correspondem a apenas uma linha, acho que está tudo bem trabalhar com este exemplo
Isso funcionaria?
awk -F", " 'NR == FNR {T[$1] = $2; next} {for (t in T) gsub (t, T[t])} 1' file[12]
Ele lê os "pares de substituição" de "file1" em uma matriz e, em seguida, modifica as linhas "file2" se algum padrão for encontrado.