Remove caracteres especiais do arquivo

0

Eu coloquei assim:

'< Jan 20 Sep> This is the sample out put  
This is Sample 
>

'< Jan 21 Sep> This is the sample out put 
This is Known Errors 
 > 

Então eu preciso remover todos os > caractere especial do arquivo. Apenas a linha em que um caractere especial > está presente precisa ser removido. Eu gostaria de ter abaixo colocar

'< Jan 20 Sep> This is the sample out put 
This is Sample 
'< Jan 21 Sep> This is the sample out put  
This is Known Errors 
    
por Naresh 01.08.2016 / 14:31

3 respostas

1

Se o '>' personagem aparecem em uma única linha como você mostra na pergunta, você pode apenas:

grep -wv '>' thefile

Resultado:

'< Jan 20 Sep> This is the sample out put
This is Sample

'< Jan 21 Sep> This is the sample out put
This is Known Errors
    
por 01.08.2016 / 15:37
0

Isso removerá os caracteres > no início de cada linha e imprimirá a saída em STDOUT. Você precisará usar a opção -i para sed ou redirecionar a saída se quiser gravá-la em um arquivo.

sed 's%^>%%' <filename>

por exemplo. você pode testar com este comando

% sed 's%^>%%' <<'EOF'
'< Jan 20 Sep> This is the sample out put
This is Sample
>
EOF

resultado

'< Jan 20 Sep> This is the sample out put
This is Sample
    
por 01.08.2016 / 14:44
0

Esses comandos devem realizar o que você está procurando.

command | sed '/^ \?> \?$\|^$/d'

ou

sed '/^ \?> \?$\|^$/d' file.txt

O regex é lido assim.

Qualquer coisa que corresponda a /pattern/

Uma linha que contém > com espaço anterior ou final opcional ^ \?> \?$

ou \|

Está em branco ^$

Exclua d

    
por 04.08.2016 / 18:03