.
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:
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 arquivoFILE-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.

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:

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 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.

Um homem com uma tecnologia efusiva que explorou algumas das incríveis coisas da tecnologia e está explorando mais. Enquanto avançava, tive a chance de trabalhar no desenvolvimento Android, Linux, AWS e DevOps com várias ferramentas de código aberto.
.