technology

A maneira mais rápida de acrescentar texto no início de um arquivo no Linux

.

Como você sabe, existem operadores de redirecionamento, que permitem anexar texto a um arquivo. Quando você usa o operador >>, o texto é anexado ao final do arquivo, enquanto o operador > substitui o conteúdo existente.

Não há comandos ou operadores específicos para essas tarefas, mas não se preocupe. Descobrimos como adicionar texto ao início de um arquivo no Linux e mostraremos como.

Depois disso, adicionar texto será fácil, mas antes de fazer isso, é importante fazer uma cópia do arquivo original para garantir que seus dados estejam seguros e possam ser facilmente restaurados em caso de acidente.

Como o problema parece

Para este artigo, criei um arquivo chamado “linux_distros”, no qual já preenchi as dez distribuições do Linux. Nele, aprenderemos como anexar texto no início do arquivo.

Então deixe-me mostrar-lhe o conteúdo de linux_distros, e então você terá uma idéia melhor disso.

Ubuntu 22.04
Debian 11
RHEL 9
Ubuntu 20.04
Debian 11
Linux Mint
AlmaLinux
POP!_OS
CentOS Stream
Debian 10

Acrescente texto ao início do texto usando o comando sed

o sed O comando é uma ferramenta extremamente útil nos sistemas operacionais Unix e Linux, pois pode ser usado para adicionar ou anexar texto ao início de um arquivo. Você só precisa conhecer a sintaxe e o comando executará seu trabalho como um encanto.

Usando o comando sed, anexe o texto ao início do arquivo

Para mostrar a você a beleza do sed, deixe-me usar uma sintaxe básica e simples do sed que adicionará texto ao início de um arquivo sem ter que adicioná-lo linha por linha à mão.

$ sed '1i [PASS-YOUR-DATA]' [FILE-NAME]

Embora a sintaxe do comando seja muito simples de entender, ainda explicarei o que um comando fará quando você o executar. “1i” é como uma linha numérica na qual você deseja manipular os dados, “[PASS-YOUR-DATA]” é um dado que você deseja anexar e o último é “[FILE-NAME]” no qual você deseja aplicar a seguinte operação.

Vamos usar a sintaxe acima para adicionar o texto “List of Linux Distributions” ao arquivo criado anteriormente. Portanto, basta executar o seguinte comando, que anexará a mensagem.

$ sed '1i List of Linux Distribution' linux_distros 

Depois de executar o comando anterior, isso é o que acontece:

Adicione um título ao topo do arquivo

Depois de ter certeza do resultado, você pode salvar os dados no arquivo original invocando as opções -i, que farão alterações diretas no arquivo sem imprimir os dados em STDOUT.

$ sed -i '1i List of Linux Distribution' linux_distros 

Anexar o texto no início de qualquer caractere

Para adicionar texto no início de qualquer caractere ou palavra, você pode usar o comando abaixo, que adiciona automaticamente seus dados de texto onde está o conteúdo anterior.

$ sed -i '1/^/[PASS-YOUR-DATA]/' [FILE-NAME]
  • -i: faça uma alteração direta no arquivo de origem
  • "1/": espaço de endereço onde você deseja fazer alterações
  • "/^/": cursor usado para especificar o início da linha
  • "/PASS-YOUR-DATA/": substitua pelos dados que você deseja adicionar ao seu arquivo
  • FILE-NAME : forneça seu arquivo de amostra

Para melhor compreensão, criei um arquivo de exemplo para você, no qual listei simplesmente os números de 1 a 9, como você pode ver na imagem abaixo.

Arquivo de amostra para anexar texto no início
Arquivo de amostra para anexar texto no início

Agora eu quero adicionar o número 0 antes de o número 1então deve parecer “01.” Para fazer alterações como essa, você deve saber em qual linha seu texto está. Para mim, “1″ encontra-se no número “2.”

Então, deixe-me executar o comando e aguardar a saída aparecer na tela.

$ sed '2s/^/0/' sample 

Depois de executar o comando anterior, isso é o que acontece:

Depois de acrescentar zero com um
Depois de acrescentar zero com um

Mas o problema com a solução acima é que ela adicionou apenas 0 ao número 1 e o restante ainda está pendente de ser anexado. Podemos adicionar 0 a cada número? Com sed, é possível. Tudo o que você precisa fazer é definir o intervalo de endereços conforme mostrado no código abaixo:

$ sed '2,10s/^/0/' sample 

Depois de executar o comando anterior, isso é o que acontece:

Depois de acrescentar zero a todos os números
Depois de acrescentar zero a todos os números

Depois de verificar se o comando acima fornece os resultados desejados, você pode adicionar o -eu opção de tornar as alterações permanentes.

$ sed -i '2,10s/^/0/' sample 

Isso é tudo o que é necessário para usar o comando sed para anexar texto ao início ou início de um arquivo e, se você souber outras maneiras de fazer o mesmo, informe-nos na seção de comentários.

Vai demorar um pouco até nos encontrarmos novamente.

.

Mostrar mais

Artigos relacionados

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Botão Voltar ao topo