sed

Como substituir tudo após o padrão usando o comando 'sed'

Como substituir tudo após o padrão usando o comando 'sed'

As tarefas de substituição podem ser feitas no Linux de maneiras diferentes. O comando 'sed' é uma das maneiras de fazer a tarefa de substituição. Este comando pode ser usado para substituir o texto em uma string ou arquivo usando um padrão diferente. Como você pode substituir tudo após o padrão de correspondência usando o comando 'sed' é mostrado neste tutorial.

Substitua tudo após a correspondência em uma string:

Como a parte de uma string pode ser substituída com base em um padrão de correspondência e $ PARTITION_COLUMN foi mostrado nesta seção deste tutorial. Mas esta variável funciona se o padrão corresponder a qualquer palavra no início ou meio da string. Não irá substituir o texto se o padrão corresponder à última palavra do texto.

Exemplo-1: Substitua tudo após a correspondência usando $ PARTITION_COLUMN

O comando a seguir pesquisará o caractere 'a' e a parte restante após 'a' será substituída pelo texto, “um site de blog popular”. $ PARTITION_COLUMN.* é usado para definir a parte restante após o caractere, 'a'.

$ echo "LinuxHint é um website" | sed "s / a $ PARTITION_COLUMN.* / um blog popular / "

A seguinte saída aparecerá após a execução do comando. Aqui, 'um site' foi substituído por 'um site de blog popular'.


O seguinte padrão irá pesquisar a palavra 'rede'Na corda e substitua a parte restante pelo'rede'Pelo texto,'um site de blog popular'se a correspondência existe e'rede'Não é a parte da última palavra da string.

$ echo "LinuxHint é um website" | sed "s / web.* $ PARTITION_COLUMN.* / um blog popular / "

A seguinte saída aparecerá após a execução do comando. Aqui, 'website' é a última palavra da string e nenhuma substituição foi feita por este motivo.

Exemplo-2: Substitua tudo após a correspondência usando o padrão

O seguinte comando irá pesquisar a palavra 'bash'globalmente na string e substitui tudo pela palavra se a palavra existir na string. 'g'É usado aqui para pesquisa global.

$ echo "Eu gosto de programação bash" | sed "s / bash.* / script python / g "

A seguinte saída aparecerá após a execução do comando. Aqui, 'bash' existe no meio da string, e a substituição foi feita.

Substitua tudo após a correspondência em um arquivo:

Todo o conteúdo de uma linha específica ou várias linhas ou linhas restantes de um arquivo após a correspondência pode ser substituído usando o 'sed'comando. Crie um arquivo de texto chamado comparecimento.TXT com o seguinte conteúdo para testar os exemplos mostrados nesta seção.

comparecimento.TXT

1108885 está presente
1999979 está presente
1769994 está ausente
1105656 está ausente
1455999 está ausente

Exemplo -3: Substitua todo o conteúdo de uma linha de um arquivo após a correspondência

O seguinte comando 'sed' irá procurar o número 1769994 no arquivo, e tudo com o número será substituído pelo texto, '1586844 está presente' se o número existir em qualquer linha do arquivo.

$ cat allendence.TXT
$ sed "s / 1769994.* / 1586844 está presente / "atendimento.TXT

A seguinte saída aparecerá executando os comandos. Aqui, o número de busca existe na terceira linha do arquivo, e a substituição foi feita.

Exemplo -4: Substitua todo o conteúdo de várias linhas de um arquivo após a correspondência

O seguinte comando 'sed' mostra o uso da variável $ PARTITION_COLUMN para substituir várias linhas do arquivo. O comando pesquisará '110' no início de cada linha do arquivo e substituirá tudo por '110' pelo texto 'Entrada inválida' onde o texto correspondente será encontrado.

comparecimento de $ cat.TXT
$ sed "s / ^ 110.* $ PARTITION_COLUMN.* / Entrada inválida / "comparecimento.TXT

A seguinte saída aparecerá após a execução dos comandos. '110' existe em duas linhas do arquivo, e estas foram substituídas pelo texto de substituição.

Exemplo 5: Substitua todo o conteúdo de uma linha de um arquivo usando 'c' após a correspondência

Os seguintes 'sed'comando mostra o uso de'c'para substituir tudo após a partida. Aqui, 'c'indica a mudança. O comando irá pesquisar a palavra 'presente'no arquivo e substitua tudo da linha pelo texto,'Esta linha é substituída'se a palavra existir em qualquer linha do arquivo.

comparecimento de $ cat.TXT
$ sed '/ present / c Esta linha foi substituída por' atendimento.TXT

A seguinte saída aparecerá após a execução dos comandos. A palavra 'presente' existe nas primeiras duas linhas do arquivo, e essas duas linhas foram substituídas pelo texto de substituição.

Exemplo-6: Substitua todo o conteúdo de uma linha de um arquivo com base no padrão inicial e final

Às vezes, é necessário substituir o texto com base no padrão inicial e final. O seguinte comando 'sed' mostra a forma de definir padrões de início e fim para substituir linhas de um arquivo. O comando irá procurar aquelas linhas no arquivo que começa com o número 110 e termina com a palavra 'ausente' e substitui tudo pela palavra 'substituído' onde os padrões correspondem.

comparecimento de $ cat.TXT
$ sed -e 's / ^ 110.* ausente $ / substituído / g 'comparecimento.TXT

A seguinte saída aparecerá após a execução dos comandos. Aqui, a primeira e a quarta linhas começam com o número 110, mas a palavra 'ausente' existe apenas na quarta linha. Portanto, a quarta linha do arquivo foi substituída pelo texto de substituição.

Conclusão:

O comando 'sed' é uma ferramenta muito poderosa do Linux para realizar diferentes tipos de tarefas relacionadas ao processamento de texto. A tarefa de substituição com base no padrão de correspondência é discutida neste tutorial usando vários tipos de padrões no comando 'sed'. $ PARTITION_COLUMN, 'c' e '.* 'é usado neste tutorial para substituir tudo de uma linha do arquivo onde existe o padrão correspondente. Os usos de alguns caracteres de definição de padrões foram mostrados aqui, como '^' e '$'. Muitos outros caracteres existem para definir o padrão na expressão regular para fins de pesquisa. Espero que este tutorial ajude o leitor a saber o básico para substituir tudo em um arquivo após a partida.

Emular cliques do mouse passando o mouse usando o mouse sem cliques no Windows 10
Usar um mouse ou teclado na postura errada de uso excessivo pode resultar em muitos problemas de saúde, incluindo tensão, síndrome do túnel do carpo e...
Adicione gestos do mouse ao Windows 10 usando essas ferramentas gratuitas
Nos últimos anos, os computadores e sistemas operacionais evoluíram muito. Houve um tempo em que os usuários tinham que usar comandos para navegar pel...
Controle e gerencie o movimento do mouse entre vários monitores no Windows 10
Gerenciador de mouse com tela dupla permite que você controle e configure o movimento do mouse entre vários monitores, diminuindo seus movimentos pert...