Comando sed no Linux com 15 exemplos práticos

Comando sed no Linux com 15 exemplos práticos

O 'sed' O comando é uma ferramenta essencial para manipular o texto no Linux. Ele permite procurar padrões em um texto e executar várias operações no texto correspondente, como substituí -lo, excluí -lo ou imprimi -lo. Este comando recebe a entrada de um arquivo ou entrada padrão.

O comando sed padrão não faz alterações no arquivo original até você usar o -eu Parâmetro da linha de comando. O comando alerta o texto e envia o resultado para a saída padrão. Você também pode redirecionar o texto para o arquivo conforme os requisitos.

Neste artigo, forneceremos 15 exemplos práticos de usar o 'sed' comando para executar várias tarefas.

Substitua o exemplo de Strings usando sed

1. Substitua a string em um arquivo

Para substituir uma string em um arquivo, você pode usar o 's/Old_string/new_string/g' comando. A sintaxe é:

# Sintaxe sed 's/old_string/new_string/g' file_name
12# Sintaxe 's/old_string/new_string/g' file_name

Para substituir strings em um arquivo usando o comando sed, use o -eu argumento para fazer as mudanças no local. A sequência de comando deve incluir o comando substituto 'S', a corda original e a corda de substituição. Por exemplo, para substituir todas as instâncias da string "Apple" pela string "banana" em um arquivo chamado frutas.txt, use o seguinte comando:

Veja o seguinte exemplo:

frutas sed 's/maçã/banana/g'.TXT  

Este comando lê o conteúdo das “frutas.arquivo txt ”e substitui todas as ocorrências da palavra "maçã" com a palavra "banana" e imprime o texto resultante para o terminal. O g diz ao comando para substituir todas as ocorrências correspondentes globalmente no arquivo.

Você também pode fazer as alterações no mesmo arquivo com o -eu opção.

sed -i 's/maçã/banana/g' frutas.TXT  

Você verá que o arquivo original é modificado. Você também pode fazer o backup do arquivo antes de fazer alterações no arquivo original.

sed -i.Bak 's/maçã/banana/g' frutas.TXT  

Um arquivo de backup do original será criado no diretório atual com nome frutas.TXT.Bak.

2. Substitua a primeira ocorrência de cada linha

Para substituir apenas a primeira ocorrência de um padrão em cada linha, você pode usar o S/Padrão/Substituição/Comando. Por exemplo, para substituir apenas a primeira ocorrência da palavra "maçã" pela palavra "banana" nos frutos do arquivo.txt, você pode usar o seguinte comando:

sed 's/maçã/banana/' frutas.TXT  

3. Substitua a última ocorrência de cada linha

Para substituir apenas a última ocorrência de um padrão em cada linha, você pode usar o comando s/padrão/substituição/g '. Por exemplo, para substituir apenas a última ocorrência da palavra "maçã" pela palavra "banana" nos frutos do arquivo.txt ', você pode usar o seguinte comando:

sed 's/\ (.*\) Apple/\ 1Banana/G 'frutas.TXT  

4. Substitua a string no número específico da linha

Para substituir uma string em uma linha específica, você pode usar os lineares/padrão/substituição/comando. Por exemplo, para substituir a primeira ocorrência da palavra "maçã" pela palavra "banana" na linha 3 do arquivo frutas.txt, você pode usar o seguinte comando:

sed '3s/maçã/banana/' frutas.TXT  

5. Substitua a string do alcance de números de linha

Para substituir uma string em uma variedade de linhas, você pode usar o startlineNumber, endlineNumber/padrão/substituição/comando. Por exemplo, para substituir a primeira ocorrência da palavra "maçã" pela palavra "banana" nas linhas 3 a 5 dos frutos de arquivo.txt, você pode usar o seguinte comando:

sed '3,5s/maçã/banana/' frutas.TXT  

Excluindo linhas no arquivo usando sed

6. Exclua a primeira linha do arquivo

Para excluir uma linha que contém uma certa string, você pode usar o comando /padrão /d. Por exemplo, para excluir todas as linhas que contêm a palavra "maçã" nos frutos do arquivo.txt, você pode usar o seguinte comando:

frutas sed '1d'.TXT  

7. Excluir linha contém certa string

Para excluir uma linha que contém uma certa string, você pode usar o '/padrão/d' comando. Por exemplo, para excluir todas as linhas que contêm a palavra "maçã" nos frutos do arquivo.txt, você pode usar o seguinte comando:

frutas sed '/maçã/d'.TXT  

8. Excluir linhas, exceto a corda correspondente

Para inverter as linhas correspondentes, você pode usar o '!' operador em combinação com outros comandos. Por exemplo, para excluir todas as linhas que contêm a palavra "maçã" nos frutos do arquivo.txt, você pode usar o seguinte comando:

sed '/maçã//!d 'frutas.TXT  

9. Exclua a gama de linhas

Para excluir uma variedade de linhas, você pode usar o StartLinenNumber, EndLinenNumberd comando. Por exemplo, para excluir as linhas 3 a 5 do arquivo frutas.TXT, Você pode usar o seguinte comando:

frutas sed '3,5d'.TXT  

10. Exclua linhas vazias do arquivo

Você pode remover as linhas vazias do arquivo usando '/^$/D' opção.

frutas sed '/^$/d'.TXT  

Este comando considera uma linha como vazia, que não contém nenhum personagem, mesmo um único espaço.

Impressão de linhas do arquivo usando sed

11. Apenas números de linha de impressão

Para imprimir apenas os números de linha de linhas correspondentes, você pode usar o '/padrão/=' comando. Por exemplo, para imprimir os números de linha de todas as linhas que contêm a palavra "maçã" nos frutos do arquivo.txt, você pode usar o seguinte comando:

sed '/apple/=' frutas.TXT  

12. Imprima a faixa de arquivo

Para imprimir uma variedade de linhas, você pode usar o 'Start, endp' comandos. Por exemplo, para imprimir as 10 primeiras linhas dos frutos do arquivo.txt, você pode usar o seguinte comando:

frutas sed -n '1,10p'.TXT  

Inserindo linhas para arquivar usando sed

13. Insira uma nova linha após o padrão de correspondência

Para inserir uma linha após um certo padrão, você pode usar o '/padrão/a \ newline' comando. Por exemplo, para inserir a linha "uvas" após a linha que contém a palavra "maçã" nos frutos do arquivo.txt, você pode usar o seguinte comando:

frutas de sed '/maçã/a \ uvas'.TXT  

14. Insira uma nova linha antes do padrão de correspondência

Para inserir uma linha antes de um determinado padrão, você pode usar o '/padrão/i \ newline' comando. Por exemplo, para inserir a linha "uvas" antes da linha que contém a palavra "maçã" nos frutos do arquivo.txt, você pode usar o seguinte comando:

frutas sed '/maçã/i \ uvas.TXT  

Outras tarefas usando sed

15. Alterar caso de personagens

Para mudar o caso de uma string, você pode usar o 'y/velho/novo/' comando. Por exemplo, para alterar todas as letras minúsculas para maiúsculas nos frutos do arquivo.txt, você pode usar o seguinte comando:

sed 'y/abcdefghijklmnopqrstuvwxyz/abcdefghijklmnopqrstuvwxyz/' frutas.TXT  

Conclusão

Esperamos que esses exemplos tenham sido úteis para mostrar a versatilidade do comando sed. Lembre -se de que o SED é uma ferramenta muito poderosa e é importante testar seus comandos cuidadosamente antes de usá -los em arquivos importantes. Se você tiver alguma dúvida ou precisar de mais assistência, não hesite em perguntar. Com esses exemplos práticos, você estará bem no caminho para dominar o comando sed e se tornar um administrador de Linux proficiente.