Pelo que entendi, você deseja alterar uma série de arquivos in-loco. Você deseja excluir todos e até incluir a primeira linha que consiste em no total de Abstract
. Se esses arquivos estiverem no diretório atual e forem todos nomeados com uma extensão .txt
, use:
sed -i '0,/^Abstract$/d' *.txt
Como isso substituirá os arquivos antigos e, caso algo dê errado, não use isso sem ter um backup.
Isso pode exigir o GNU sed
(que é padrão no Linux).
Como funciona
-
-i
A opção
-i
informased
para editar arquivos no local. O arquivo antigo será sobrescrito. -
0,/^Abstract$/d
Este comando informa
sed
para excluir (d
) todas as linhas do primeiro (número 0) até e incluindo a primeira linha que corresponde à expressão regular^Abstract$
. O circunflexo,^
, corresponde ao início da linha e o cifrão corresponde ao final da linha. Assim, este regex corresponde a uma linha que contém somente a palavraAbstract
com não outros caracteres na linha. -
*.txt
Isso diz ao shell para selecionar todos os arquivos no diretório atual que tenham o sufixo
.txt
.
Atualizar
Isso excluirá todas as linhas de cada arquivo até a primeira linha que começa com Abstract
:
sed -i '0,/^Abstract/d' *.txt
Como o $
foi removido, essa expressão regular exige apenas que a linha comece com Abstract
.