Como usar o SED para editar o arquivo no lugar

Como usar o SED para editar o arquivo no lugar

O Linux suporta vários tipos de utilitários de linha de comando para automatizar as tarefas que produzem o Linux na linha principal do sistema operacional; Devido à sua importância e uso, possui centenas de distribuições baseadas no Linux e elas suportam vários comandos para executar ações automaticamente.

Há um enorme conjunto de comandos disponíveis para o Ubuntu e o Sed Command Utility é um deles; O comando sed pode ser usado para executar operações fundamentais em arquivos de texto como edição, excluindo texto dentro de um arquivo.

Juntamente com essas ações primárias, a Sed fornece uma longa lista de opções suportadas que podem ser usadas para manipular a saída de acordo com os requisitos do usuário, inspirados por isso; Compilamos um guia que demonstrará manter as alterações no arquivo original usando o comando sed:

Como editar o arquivo no lugar usando o comando sed

Esta opção do comando sed é usada para editar o arquivo e salvar as alterações no original e pode ser usado com todas as operações do comando sed:

A sintaxe para esta opção é descrita abaixo:

Sintaxe

comando sed -i [nome do arquivo]

ou

comando sed-no local [nome do arquivo]

Na sintaxe fornecida acima, a opção "-i" é constante (quando você está fazendo em alterações de arquivo) e a palavra-chave "comando" contém as operações (substituição, exclusão, anexo) sendo executada usando o comando sed; E, finalmente, o "nome do arquivo" direciona para o nome do arquivo onde todas as ações são tomadas que estão associadas ao comando sed.

Pegamos um arquivo de texto que contém poucas linhas de texto:

Vamos extrair o conteúdo de “Examp.TXT”Arquivo usando o comando mencionado abaixo:

$ Cat Examp.TXT

Vamos começar com o uso básico de que, se usarmos sed sem “-eu”A opção então imprime o resultado no terminal e o arquivo original permanecerá inalterado (conforme verificado usando o comando“ CAT ”) como mostrado abaixo:

Diferença entre o arquivo de edição no lugar e a edição de arquivo do comando sed

No comando abaixo mencionado; ““s”É usado para substituição e substituirá a palavra“Debian" com "Ubuntu”. Além disso, a carta “g”No final deste comando é para ação global, significa que a substituição será realizada em todo o arquivo:

$ sed 's/debian/ubuntu/g'.TXT

E agora use o mesmo comando com “-euOpção, conforme fornecido abaixo; Percebe -se que com a ajuda de “-eu”O conteúdo dentro do arquivo original (“Examp.TXT”) Também é alterado agora, conforme exibido abaixo:

Observação: Você pode usar "-no lugar" em vez de "-eu”; Ambas as opções têm a mesma funcionalidade:

$ sed -i 's/debian/ubuntu/g'.TXT

Como editar uma linha específica de arquivo em vigor usando o comando sed

E se você deseja alterar o conteúdo de qualquer número de linha específico, poderá adicionar valor numérico com a letra "S"; Por exemplo, o comando fornecido abaixo substituirá o "Ubuntu" por "Debian" apenas na linha "2" e depois de especificar o número da linha O objetivo da letra "G" é anulado para que você também possa removê -lo:

$ sed -i '2s/ubuntu/debian/'.TXT

Além disso, você pode colocar “$Assinar com “sPalavra -chave para executar apenas as alterações na última linha do arquivo; Como o comando escrito abaixo, colocará a palavra “Ubuntu" no lugar de "Linux-Mint”Na última linha de“Examp.TXT”:

$ sed -i '$ s/ubuntu/linux -Mint/'.TXT

Como excluir uma linha em um arquivo usando comando no local do sed

A opção no local tem um uso extensivo no comando sed, conforme discutido acima; Além de substituir as palavras em uma linha, pode -se excluir toda a linha e salvar a saída no arquivo pai usando “-eu”Opção: o comando mencionado abaixo excluirá o número da linha“2"Do arquivo" Examp.TXT":

$ sed -i '2d' Examp.TXT

E se você quiser excluir as linhas, exceto o número da linha “2”Então você deve escrever o comando como mencionado abaixo:

$ sed -i '2!d 'examp.TXT

Conclusão

O Ubuntu suporta uma variedade de comandos que podem ser usados ​​para executar as operações primárias em arquivos de texto como cabeça ou comandos de cauda podem ser usados ​​para imprimir as linhas disponíveis no início ou no final de um arquivo de texto. No entanto, existem algumas limitações, digamos que você não pode imprimir apenas a linha número 2 de um arquivo de texto usando o comando Head (embora a linha número 2 venha na seção principal do arquivo). O comando sed lidera outros comandos a esse respeito; Este comando no Ubuntu ajuda a executar operações básicas em arquivos de texto, como substituição, adição, exclusão etc. Observa-se que, se o comando sed for usado, exceto a opção "-i", o resultado seria impresso apenas no terminal. Neste artigo, a opção no local do comando sed é descrita em detalhes e pode ser adotada com todas as operações da Sed. Para obter uma visão profunda dessa opção, tentamos usá -la com tantos comandos para construir o básico para usuários iniciantes.