Como usar o comando sed com regex

Como usar o comando sed com regex

O comando sed tem uma lista longa de operações suportadas que podem ser executadas para facilitar o processo de edição de arquivos de texto. Ele permite que os usuários apliquem as expressões que geralmente são usadas em linguagens de programação; Uma das expressões principais suportadas é a expressão regular (regex).

O regex é usado para gerenciar o texto dentro de arquivos de texto, com a ajuda de regex um padrão que consiste em string e esses padrões são usados ​​para combinar ou localizar o texto. O regex é amplamente utilizado em linguagens de programação como Python, Perl, Java e seu suporte também estão disponíveis para programas de linha de comando como Grep e vários editores de texto também como sed.

Embora a pesquisa e a classificação simples possam ser executadas usando o comando sed, o uso do regex com sed permite a correspondência avançada de nível em arquivos de texto. O Regex funciona nas instruções dos caracteres usados; Esses personagens guiam o comando sed para executar as tarefas direcionadas. Neste artigo, demonstraremos o uso de regex com comando sed e seguido pelos exemplos que mostrarão a aplicação de regex.

Como usar o regex em sed

Esta seção é a parte central da escrita que contém a explicação detalhada de expressões regulares no contexto sed: vamos começar com ela

Combinando a palavra

Se você deseja encontrar a palavra que corresponde exatamente aos personagens, deve especificar os caracteres exatos que correspondem à palavra: por exemplo, temos um arquivo de texto que contém a lista de fabricantes de laptops nomeados como “laptops.TXT”:

Vamos obter o conteúdo do arquivo usando o comando mencionado abaixo:

$ CAT Laptops.TXT

Use o seguinte comando ajudará a obter o “Acer" palavra:

$ sed -n '/acer/p' laptops.TXT

Combinando todas as palavras começam com um personagem específico

Este suporte regex contém várias ações descritas nesta seção:

Se você deseja pesquisar e combinar as palavras que iniciam e terminam com um personagem específico, você deve usar “*”Assine entre os personagens para fazê -lo; Mas percebe -se que o “*”Símbolo imprime as palavras que começam com um único ou múltiplo“Como"Mas com um único"R”: Por exemplo, o comando escrito abaixo imprimirá todas as palavras que começam com um único ou múltiplo“A”E termina com um único“R”:

$ sed -n '/a*r/p' laptops.TXT


Para corresponder à palavra que termina com um personagem específico ou que contém apenas caracteres especificados: o comando escrito abaixo exibirá as palavras com o personagem “P"Ou a palavra exata"HP”:

$ sed -n '/h \?Laptops p/p '.TXT

Combinar as palavras com personagem específico

Percebe -se que você pode obter as palavras que contêm qualquer personagem com a ajuda do comando sed: por exemplo, o comando mencionado abaixo encontrará as palavras que contêm um desses personagens "A", "H" ou "D":

$ sed -n '/[ahd]/p' laptops.TXT

Combinando a string

Você pode usar o comando sed com expressões regulares para imprimir as strings; Você pode imprimir todas as strings ou também pode segmentar uma string específica usando o caráter inicial ou final dessa string:

Nós usamos "arquivo.TXT'usá -lo como exemplo nesta seção; Este arquivo contém o seguinte conteúdo:

$ CAT FILE.TXT

Por exemplo, se você deseja imprimir todas as cordas; O comando a seguir o ajudará a esse respeito:

$ sed -n '/.\+/p 'arquivo.TXT

Se você quiser obter todas as cordas que começam com o personagem “a”Então você tem que usar o símbolo de cenoura (^) para indicar o caráter inicial da string.

O comando mencionado abaixo até imprimir as cordas que começam com “@”:

$ sed -n '^@' arquivo.TXT

Além disso, se você quiser obter apenas aquelas cordas que terminam com um personagem específico, então você deve usar “$”Com esse personagem. Por exemplo, o comando escrito aqui imprimirá as cordas que termina com “#”:

$ sed -n '/#$/p' arquivo.TXT

Combinando as linhas em branco

O suporte de regex com comando sed permite ao usuário imprimir/excluir as linhas vazias usando “/^$/”; O comando a seguir imprimirá as linhas vazias em “laptops.TXT" arquivo:

$ sed -n '/^$/P' laptops.TXT

Ou você pode excluir substituindo “p" com "d”No comando acima, conforme exibido abaixo:

$ sed -n '/^$/d' laptops.TXT

Combinando o caso da carta

O comando SED permite que os usuários manipulem as palavras com caso de carta específica:

Por exemplo, você pode imprimir, excluir, substituir as palavras do caso da carta usando o comando sed:

Um arquivo de texto chamado como “teste.TXT”É usado neste exemplo, o conteúdo deste arquivo é impresso usando o seguinte comando:

$ Teste CAT.TXT

Combinando com as letras minúsculas

O comando a seguir imprimirá todas as palavras que contêm letras minúsculas em minúsculas:

$ sed -n '/[a -z]/p' teste.TXT

Combinando as cartas maiúsculas

Ou você pode imprimir as palavras que contêm cartas de caixa superior emitindo o seguinte comando no terminal:

$ sed -n '/[a -z]/p' teste.TXT

Conclusão

Expressões regulares (regex) são referidas como; Qualquer palavra ou sequência de caracteres que é usado para obter as palavras correspondentes de qualquer arquivo de texto. Eles fornecem suporte extenso para várias linguagens de programação, bem como comandos ou programas do Ubuntu. Além disso, o Ubuntu fornece suporte para comandos extensos que facilitam o processo de execução de tarefas tediosas. O utilitário de linha de comando sed do Ubuntu permite que você execute várias tarefas tediosas com muita facilidade para executar várias operações em arquivos de texto. Compilamos este guia para esclarecer os benefícios de se juntar a Regex com sed; Esta joint venture fornece correspondência de nível avançada e pesquisas dentro de arquivos de texto. Expressões regulares precisam de ajuda de caracteres usados ​​para corresponder para executar várias tarefas, como exclusão, impressão, substituição ou gerenciamento de texto dentro de arquivos de texto.