<Anterior | Conteúdo | Próxima>
âncoras
O acento circunflexo (^) e cifrão ($) caracteres são tratados como âncoras em expressões regulares. Isso significa que eles fazem com que a correspondência ocorra apenas se a expressão regular for encontrada no início da linha (^) ou no final da linha ($):
[me @ linuxbox ~] $ grep -h '^ zip' dirlist * .txt
zip zipcloak zipgrep zipinfo zipnote zipsplit
[me @ linuxbox ~] $ grep -h 'zip $' dirlist * .txt
gunzip gzip funzip gpg-zip preunzip prezip descompactar zip
[me @ linuxbox ~] $ grep -h '^ zip $' dirlist * .txt
zip
[me @ linuxbox ~] $ grep -h '^ zip' dirlist * .txt
zip zipcloak zipgrep zipinfo zipnote zipsplit
[me @ linuxbox ~] $ grep -h 'zip $' dirlist * .txt
gunzip gzip funzip gpg-zip preunzip prezip descompactar zip
[me @ linuxbox ~] $ grep -h '^ zip $' dirlist * .txt
zip
Aqui, procuramos na lista de arquivos a string “zip” localizada no início da linha, no final da linha e em uma linha onde ela está tanto no início quanto no final da linha (ou seja, por si mesma em a linha). Observe que a expressão regular '^ $' (um início e um fim sem nada no meio) corresponderá a linhas em branco.
Um ajudante de palavras cruzadas
Mesmo com nosso conhecimento limitado de expressões regulares neste ponto, podemos fazer algo útil.
Minha esposa adora palavras cruzadas e às vezes ela me pede ajuda com uma pergunta específica. Algo como "O que é uma palavra de cinco letras cuja terceira letra é 'j' e a última letra é 'r' que significa ...?" Esse tipo de pergunta me fez pensar.
Você sabia que seu sistema Linux contém um dicionário? É verdade. Dê uma olhada no / usr / share / dict diretório e você pode encontrar um ou vários. Os arquivos de dicionário localizados lá são apenas longas listas de palavras, uma por linha, organizadas em ordem alfabética. No meu sistema, o palavras arquivo contém pouco mais de 98,500
palavras. Para encontrar respostas possíveis para a questão das palavras cruzadas acima, poderíamos fazer o seguinte:
[me @ linuxbox ~] $ grep -i '^ .. jr $' / usr / share / dict / words
principal principal
Usando essa expressão regular, podemos encontrar todas as palavras em nosso arquivo de dicionário que têm cinco letras e têm um “j” na terceira posição e um “r” na última posição.