Como substituir várias linhas usando o `sed` comando

às Vezes, ele necessita para substituir várias linhas de um arquivo com qualquer caractere ou texto. Existem comandos diferentes no Linux para substituir várias linhas de um arquivo. o comando ‘ sed ‘ é um deles para fazer este tipo de tarefa. A forma completa de` sed ‘ é o editor Steam, e é usado principalmente para ler e converter o texto de diferentes maneiras, usando uma expressão regular., Como este comando pode ser usado para substituir as múltiplas linhas de um arquivo de diferentes maneiras são explicados neste tutorial.

folha de batota ” sed “normalmente utilizada:

os caracteres mais utilizados no comando” sed ” são explicados na tabela seguinte.

Caractere Objetivo
um é utilizado para acrescentar conteúdo.
b é utilizado para ramificar o conteúdo.
C é utilizado para alterar o conteúdo.,
d é usado para excluir uma linha de um arquivo.
D é usado para eliminar a primeira linha de um ficheiro.
g It used to copy from the holding text.
G é usado para adicionar a partir do texto de detenção.
h é utilizado para copiar no texto da exploração.
H é usado para adicionar ao texto de detenção.
i é usado para inserção.
i é usado para imprimir a linha de substituição.,
N é usado para ir para a próxima linha.
N é usado para adicionar 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 é utilizado para testar a substituição.
T é utilizado para testar a ausência de substituição.
W é usado para escrever para o arquivo.
W é usado para escrever uma linha para o 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.,

Substituir várias linhas usando o `sed` comando no terminal:

Como o `sed` comando pode ser usado para substituir as várias linhas de um arquivo a partir de um terminal é mostrado nesta parte deste tutorial. Criar um ficheiro chamado sed.txt com o seguinte conteúdo testa os comandos desta parte.

sed.txt

A forma completa do sed é “editor de fluxo”.

é um utilitário Unix que é 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: Substituir duas linhas consecutivas

o seguinte comando ” sed ” 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, as 3ª e 4ª linhas do arquivo serão substituídas pelo texto, “é uma ferramenta muito útil”.

$ cat sed.txt$ sed-z ‘ s / it was developed by Lee E. McMahon.\nIt é usado para o processamento de texto
.,É uma ferramenta muito útil.- sed.txt

a seguinte saída irá aparecer após executar os comandos.

Exemplo-2: Substituir várias linhas com base na correspondência e o sinalizador global

O seguinte `sed` comando irá substituir todas as linhas que começam com a palavra, ‘Ele’ pela palavra ‘Esta linha é substituído”.

$ cat sed.txt
$ sed ‘ s / ^It.* / Esta linha é substituída por / g ‘ sed.txt

a seguinte saída irá aparecer após executar os comandos. Três linhas contêm a palavra ” ele ” no arquivo., Assim, estas linhas foram substituídas pelo texto de substituição.

exemplo-3: substituir várias linhas baseadas na correspondência e no comando da próxima linha

o seguinte comando `sed` irá substituir a palavra,’is’ pela palavra, ‘was’ pelo comando da linha seguinte, ‘n’.

$ cat sed.txt
$ sed ‘ {n; / is/{s/is/ was/}’ sed.txt

a seguinte saída irá aparecer após executar os comandos. Aqui, ‘ is ‘ existe nas 2. ª e 4. ª linhas do ficheiro, e estas linhas são modificadas pela palavra ‘was’.,

substituir várias linhas criando o ficheiro de script `sed`:

nos exemplos anteriores, os comandos `sed` foram executados a partir do terminal. Mas é uma linguagem de script, e se o script contém várias declarações, então é melhor criar um arquivo sed com o script. Crie um arquivo de texto chamado estudantes.txt com o seguinte conteúdo no qual o script` sed ‘ será aplicado.estudantes.txt

exemplo-4: substituir várias linhas de um ficheiro que utilize o ficheiro script `sed`

criar um ficheiro sed que seja substituído.,sed com o seguinte conteúdo para substituir as múltiplas linhas com base no padrão de pesquisa. Aqui, a palavra ‘CSE’ será pesquisada no arquivo de texto, e se a correspondência existir, então ele irá procurar novamente os números 35 e 15. Se o segundo jogo existir no arquivo, então ele será substituído pelo número 45.

substitua.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. O ‘ CSE ‘ apareceu quatro vezes no ficheiro de texto., 35 e 15 existem em dois lugares.

$ cat students.txt

O seguinte comando irá substituir o conteúdo de várias linhas com base no script sed.

$ sed-n-f replace.estudantes de sed.txt

a seguinte saída irá aparecer após executar o comando.

conclusão

diferentes formas de substituir múltiplas linhas ou o conteúdo das múltiplas linhas usando o comando `sed` foram mostrados 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`.

Author: admin

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *