Comando sed no Linux com 15 exemplos práticos
- 718
- 147
- Arnold Murray
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 é:
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.
- « Introdução à linha de comando Linux no começo
- Classificar comando no Linux com exemplos práticos »