Remove a primeira parte de cada linha de um arquivo de texto

3

Estou tentando editar um arquivo de texto com várias linhas que se parecem com isso:

avaya logs 20171202 000000 (9).txt: 660119211mS CMLOGGING: CALL:2017/12/0111:14,00:00:16,008,203,O,208,208,Jon,,,1,,""n/a,0

Eu quero remover tudo antes de onde diz CALL em cada linha.
Eu acho que o comando sed pode fazer isso, mas eu não estou muito familiarizado com isso.
Como posso fazer isso?

    
por Incog Nito 27.02.2018 / 13:09

2 respostas

5

Você pode usar awk da seguinte maneira:

awk -F "CALL" '{print "CALL"}' filename 

O resultado é:

CALL:2017/12/0111:14,00:00:16,008,203,O,208,208,Jon,,,1,,""n/a,0

Detalhes:

  1. Use o sinal -F ou --field-separator e defina CALL para ser o separador de campo
  2. Imprimir a string "CALL" seguida de
  3. O segundo elemento na linha (quando CALL é o separador)
  

Nota: você pode redirecionar a saída para outro arquivo usando:

     

awk -F "CALL" '{print "CALL"}' filename > newfilename

    
por Yaron 27.02.2018 / 13:38
1

com sed:

sed -e 's/.*CALL:/CALL:/' input.txt > output.txt

Se você quiser editar o arquivo de entrada, adicione a opção -i .

    
por David Foerster 27.02.2018 / 17:50