Folha de dicas "sed" comumente usada:
Os caracteres mais usados usados no comando 'sed' são explicados na tabela a seguir.
Personagem | Propósito |
a | É usado para anexar conteúdo. |
b | É usado para ramificação de conteúdo. |
c | É usado para mudar de conteúdo. |
d | É usado para excluir uma linha de um arquivo. |
D | É usado para excluir a primeira linha de um arquivo. |
g | Costumava copiar do texto de retenção. |
G | É usado para anexar o texto de retenção. |
h | É usado para copiar no texto de retenção. |
H | É usado para anexar o texto de retenção. |
eu | É usado para inserção. |
EU | É usado para imprimir a linha substituta. |
n | É usado para ir para a próxima linha. |
N | É usado para anexar 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 escrever no arquivo. |
C | É usado para escrever uma linha para o arquivo. |
x | É usado para trocar padrões e segurar. |
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 múltiplas 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 de sed é "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.
Ele suporta expressões regulares.
Exemplo 1: substitua duas linhas consecutivas
O comando 'sed' a seguir 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.\ nit é usado para texto
em processamento./É uma ferramenta muito útil./'sed.TXT
A saída a seguir aparecerá após a execução dos comandos.
Exemplo-2: substitua várias linhas com base em Match e Global Flag
O comando 'sed' a seguir substituirá todas as linhas que começarão pela palavra, 'Isto' pela palavra, 'Esta linha é substituída '.
$ cat sed.TXT
$ sed 's/^it.*/Esta linha é substituída/g 'sed.TXT
A saída a seguir aparecerá após a execução dos comandos. Três linhas contêm a palavra 'Isto'No arquivo. Então, essas linhas foram substituídas pelo texto de reposição.
Exemplo 3: Substitua várias linhas com base no comando de partida e próxima linha
O seguinte comando 'sed' substituirá a palavra 'é'pela palavra'era'Com o comando da próxima linha,' n '.
$ cat sed.TXT
$ sed 'n;/is/s/is/was/' sed.TXT
A saída a seguir aparecerá após a execução dos comandos. Aqui, 'é' existe no 2nd e 4º linhas do arquivo, e essas linhas são modificadas pela palavra 'era'.
Substitua várias linhas criando o arquivo de script 'sed':
Nos exemplos anteriores, os comandos 'sed' foram executados do terminal. Mas é uma linguagem de script e, se o script contiver várias declarações, é melhor criar um arquivo sed com o script. Crie um arquivo de texto chamado alunos.TXT com o seguinte conteúdo em que o script 'sed' será aplicado.
alunos.TXT
ID: 111045Exemplo-4: substitua várias linhas de um arquivo usando o arquivo de script 'sed'
Crie um arquivo sed nomeado para 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 a correspondência existir, ele pesquisará novamente o número 35 e 15. Se a segunda partida existir no arquivo, ele será substituído 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 de gato.TXT
O comando a seguir substituirá o conteúdo das várias linhas com base no script SED.
$ sed -n -f substituir.estudantes sed.TXT
A saída a seguir aparecerá após a execução do comando.
Conclusão
Diferentes maneiras de substituir várias linhas ou o conteúdo das 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'.