AWK / SED Remove um comando de látex específico do texto E colchetes de fechamento atrás dele [duplicado]

1

Como remover um comando de látex específico do texto E fechar o colchete por trás dele, mas manter o texto dentro dos colchetes /

Por favor, preencha gratuitamente para sugerir SED, ou AWK, ou Perl ou o que quer que faça o trabalho

Exemplo insensível de entrada:

We \edit{Introduce a} model for analyzing \emph{data} from various
experimental designs, \edit{such as 23 paired or longitudinal}.

Saída:

We Introduce a model for analyzing \emph{data} from various 
experimental designs, such as 23 paired or longitudinal.

PS. Eu estou introduzindo um monte de pequenas edições no meu arquivo tex. Quero que essas edições sejam destacadas, para que meu colaborador possa vê-las. Mas depois eu gostaria de remover todos os destaques com um ou dois comandos.

    
por den2042 27.06.2017 / 15:13

1 resposta

1

$ cat file
We \edit{introduce a} model for analyzing data from various
experimental designs, \edit{such as paired or longitudinal}.

$ sed 's/\(\edit{\)\([a-z ]*\)\(}\)//g' file
We introduce a model for analyzing data from various
experimental designs, such as paired or longitudinal.

Se o seu arquivo estiver assim:

$ cat file
We \edit{Introduce a} model for analyzing \emph{data} from various
experimental designs, \edit{such as 23 paired or longitudinal}.

Então você deve tentar:

sed 's/\(\[a-z]*{\)\([A-Za-z0-9 ]*\)\(}\)//g' file
We Introduce a model for analyzing data from various
experimental designs, such as 23 paired or longitudinal.

Se você quiser manter \emph{data} , use:

$ sed 's/\(\edit{\)\([A-Za-z0-9 ]*\)\(}\)//g' file
We Introduce a model for analyzing \emph{data} from various
experimental designs, such as 23 paired or longitudinal.

Ou uma maneira mais suave:

$ sed 's/\edit{\([^}]*\)}//g' file
    
por 27.06.2017 / 15:24