Eu sou novo no Linux. Eu preciso editar um .conf
arquivo apenas do terminal aberto e não usar nenhum editor de texto. Ou seja, posso adicionar palavras e frases a um arquivo de configuração a partir de um terminal aberto?
Exemplo: command /home/.../file.conf -add 'abcd'
para a 23ª linha e assim por diante. E, finalmente, salve.
É possível pesquisar uma palavra específica nesse arquivo de configuração e adicionar novo texto à próxima linha desse arquivo de configuração usando apenas o comando?
command-line
text
editing
user259060
fonte
fonte
sed
pode vir para ajudar.Respostas:
Normalmente, faço isso quando estou programando meu script para fazer o mesmo que você está pedindo, mas de forma programática.
Voila! Você entendeu. Importante observar
>>
significa adicionar nova linha ao arquivo existente enquanto isso>
simplesmente sobrescreve tudo.fonte
Adicionar palavras e frases a um arquivo de configuração a partir do terminal aberto pode ser facilmente alcançado com o sed.
insere na linha 23 o texto
abcd
no arquivofile.conf
-i
faz a modificação diretamente no arquivofile.conf
.Se você deseja usar,
awk
então:A seguir, adiciona uma linha após o SearchPattern.
Ele insere Novo texto uma linha abaixo de cada linha que contém o SearchPattern.
Para adicionar duas linhas, você pode usar a
\
e inserir uma nova linha enquanto digita Novo Texto.fonte
Você também pode usar o
printf
comandoPara adicionar linhas ao seu arquivo
Para substituir o arquivo
fonte
Notas:
Como funciona:
inputfile
para ler as linhas de entrada, limpe-ooutputfile
e abra-o para escrever as linhas de saídafonte
Encontrei uma solução para minha própria pergunta usando o
ed
comandoO texto pode conter 27 linhas. Você pode copiar 27 linhas de um arquivo de texto e colar 27 linhas no seu arquivo de configuração. Mas preciso executar o
ed
comando simultaneamente para adicionar mais texto ao mesmo arquivo de configuração.fonte