Remove toda a função do sistema com o comando sed

0

Eu tenho o arquivo cpp Eu quero remover todas as funções do sistema dentro deste arquivo cpp com o comando sed por exemplo

int a;
cin>>a;
system(a);
system("dadad");
system('dad');

Eu quero remover todas as funções do sistema no código acima, existe alguma maneira que eu possa resolver este problema com o comando sed

    
por Daniel.V 15.10.2016 / 08:42

1 resposta

1

Isso pode ficar complicado, mas todos os seus exemplos mostram um comando por linha com o comando system iniciando no início da linha. Nesse caso, é relativamente simples. Aqui estão três métodos:

Usando grep :

$ grep -v '^system(' file.cpp
int a;
cin>>a;

A regex ^system( corresponde a linhas que começam com system( . A opção -v diz ao grep para remover as linhas correspondentes.

Usando sed :

$ sed '/^system(/d' file.cpp
int a;
cin>>a;

O comando d informa ao sed para excluir qualquer linha que corresponda ao regex ^system( .

Usando awk :

$ awk '!/^system\(/' file.cpp
int a;
cin>>a;

No awk, ! é negação e !/^system\(/ imprime qualquer linha que não corresponda à regex ^system\( . (Ao contrário dos formulários padrão de grep e sed , ( é um regex-ativo no awk e devemos escape dele com uma barra invertida para corresponder a um ( real.)

    
por John1024 15.10.2016 / 08:53