Folha de referências do 'sed' comumente usada:
Os caracteres mais comumente usados no comando 'sed' são explicados na tabela a seguir.
Personagem | Objetivo |
uma | É usado para anexar conteúdo. |
b | É usado para ramificar conteúdo. |
c | É usado para alterar o conteúdo. |
d | É usado para apagar uma linha de um arquivo. |
D | É usado para deletar a primeira linha de um arquivo. |
g | É usado para copiar do texto em espera. |
G | É usado para anexar do texto em espera. |
h | É usado para copiar no texto de exploração. |
H | É usado para anexar ao texto em espera. |
eu | É usado para inserção. |
eu | É usado para imprimir a linha substituta. |
n | É usado para ir para a próxima linha. |
N | É usado para acrescentar a próxima linha de entrada. |
p | É usado para imprimir. |
P | É usado para imprimir a primeira linha. |
q | É usado para sair. |
Q | É usado para sair imediatamente. |
r | É usado para ler o arquivo. |
R | É usado para ler a linha do arquivo. |
s | É usado para substituir. |
t | É usado para testar a substituição. |
T | É usado para testar sem substituição. |
C | É usado para gravar no arquivo. |
C | É usado para escrever uma linha no arquivo. |
x | É usado para trocar padrões e manter. |
y | É usado para traduzir. |
z | É usado para limpar a linha. |
'=' | É usado para imprimir o número da linha. |
Substitua várias linhas usando o comando 'sed' do terminal:
Como o comando 'sed' pode ser usado para substituir as várias linhas de um arquivo do terminal é mostrado nesta parte deste tutorial. Crie um arquivo chamado sed.TXT com o seguinte conteúdo teste os comandos desta parte.
sed.TXT
A forma completa do sed é o "editor de fluxo".
É um utilitário Unix usado para ler e converter o texto em um formato diferente.
Foi desenvolvido por Lee E. McMahon.
É usado para processamento de texto.
Suporta expressões regulares.
Exemplo-1: Substitua duas linhas consecutivas
O seguinte comando 'sed' irá substituir duas linhas consecutivas por outra linha. Aqui, a opção -z é usada para substituir as linhas consecutivas por dados nulos antes de adicionar o texto de substituição. De acordo com o comando, o 3rd e 4º linhas do arquivo serão substituídas pelo texto, 'É uma ferramenta muito útil'.
$ cat sed.TXT$ sed -z 's / Foi desenvolvido por Lee E. McMahon.\ nÉ usado para texto
em processamento./ É uma ferramenta muito útil./ 'sed.TXT
A seguinte saída aparecerá após a execução dos comandos.
Exemplo-2: Substitua várias linhas com base na correspondência e sinalizador global
O seguinte comando 'sed' irá substituir todas as linhas que começam com a palavra, 'Isto' pela palavra, 'Esta linha é substituída '.
$ cat sed.TXT$ sed 's / ^ It.* / Esta linha foi substituída / g 'sed.TXT
A seguinte saída aparecerá após a execução dos comandos. Três linhas contêm a palavra 'Isto'no arquivo. Portanto, essas linhas foram substituídas pelo texto de substituição.
Exemplo-3: Substitua várias linhas com base no comando de correspondência e próxima linha
O seguinte comando 'sed' substituirá a palavra, 'é'pela palavra,'estava'com o comando da próxima linha,' n '.
$ cat sed.TXT$ sed 'n; / is / s / is / was /' sed.TXT
A seguinte saída aparecerá após a execução dos comandos. Aqui, 'é' existe no 2WL e 4º linhas do arquivo, e essas linhas são modificadas pela palavra 'estava'.
Substitua várias linhas criando o arquivo de script 'sed':
Nos exemplos anteriores, os comandos 'sed' foram executados a partir do terminal. Mas é uma linguagem de script e, se o script contiver várias instruções, é melhor criar um arquivo sed com o script. Crie um arquivo de texto chamado alunos.TXT com o seguinte conteúdo no qual o script 'sed' será aplicado.
alunos.TXT
ID: 111045Nome: Robert
Departamento: CSE
Lote: 35
ID: 111876
Nome: Joseph
Departamento: BBA
Lote: 27
ID: 111346
Nome: William
Departamento: CSE
Lote: 45
ID: 111654
Nome: Charles
Departamento: EEE
Lote: 41
ID: 111346
Nome: john
Departamento: CSE
Lote: 25
ID: 111746
Nome: Thomas
Departamento: CSE
Lote: 15
Exemplo-4: Substitua várias linhas de um arquivo usando o arquivo de script 'sed'
Crie um arquivo sed com o nome de substituir.sed com o seguinte conteúdo para substituir as várias linhas com base no padrão de pesquisa. Aqui, a palavra 'CSE'será pesquisado no arquivo de texto e, se houver correspondência, ele pesquisará novamente o número 35 e 15. Se a segunda correspondência existir no arquivo, ela será substituída pelo número 45.
substituir.sed
/ CSE /p; n;
/ 35 /
s / 35/45 /;
p; d;
/ 15 /
s / 15/55 /;
p; d;
p;
Execute o seguinte comando para verificar o conteúdo existente do arquivo. 'CSE' apareceu quatro vezes no arquivo de texto. 35 e 15 existem em dois lugares.
estudantes $ cat.TXT
O seguinte comando irá substituir o conteúdo de várias linhas baseado no script sed.
$ sed -n -f replace.estudantes sed.TXTA seguinte saída aparecerá após a execução do comando.
Conclusão
Diferentes maneiras de substituir várias linhas ou o conteúdo de várias linhas usando o comando 'sed' foram mostradas neste tutorial. Como o script 'sed' pode ser executado a partir de um arquivo sed também é mostrado neste tutorial. Espero que este tutorial ajude o leitor a substituir várias linhas de qualquer arquivo usando o comando 'sed'.