questão de sintaxe grep no leão -- terminal camp apple Relacionado O problema

grep syntax issue on Lion


0
vote

problema

português

Eu tenho um arquivo de texto e procurando a linha única bird . Usando o OS X Lion e Grep 2.5.1.

Isso funciona:

  grep '^bird' file.txt    

Mas isso não é

  grep '^bird$' file.txt    

Não há espaço em branco no final da linha. O que estou fazendo de errado?

thx

english

I have a text file and looking for the single line bird. Using OS X Lion and grep 2.5.1.

this works:

grep '^bird' file.txt 

but this doesn't

grep '^bird$' file.txt 

There is not a blank space at the end of the line. What am I doing wrong?

thx

  
   
   

Lista de respostas

5
 
vote

geralmente por causa de um arquivo de texto formatado do DOS (CRLF). Para limpar o arquivo, você pode instalar uma também como dos2unix ; mas geralmente funciona ainda mais simples usando o tr ferramenta:

  tr -d ' ' < testfile > output.txt    
 

Its usually because of a DOS formatted text file (CRLF). To clean the file you can install a tooxc3xb6 like dos2unix; but usually works even simpler by using the tr tool:

tr -d '\r' < testfile > output.txt 
 
 
 
 
4
 
vote

Eu estou supondo que é um arquivo CRLF (arquivo de texto formatado do DOS)

  [bob@erasmas tmp]$ cat testfile bird notbird [bob@erasmas tmp]$ cat testfile.dos bird notbird [bob@erasmas tmp]$ file testfile testfile: ASCII text [bob@erasmas tmp]$ file testfile.dos testfile.dos: ASCII text, with CRLF line terminators [bob@erasmas tmp]$ grep '^bird' testfile bird [bob@erasmas tmp]$ grep '^bird' testfile.dos bird [bob@erasmas tmp]$ grep '^bird$' testfile bird [bob@erasmas tmp]$ grep '^bird$' testfile.dos    

Nota: Isso foi em uma máquina Linux, pois isso não é específico para OS X (se isso for infacto o problema).

Execute "arquivo" no arquivo.txt e veja se tem terminações de linha CRLF.

 

I'm guessing it's a CRLF file (dos formatted text file)

[bob@erasmas tmp]$ cat testfile bird notbird [bob@erasmas tmp]$ cat testfile.dos bird notbird [bob@erasmas tmp]$ file testfile testfile: ASCII text [bob@erasmas tmp]$ file testfile.dos testfile.dos: ASCII text, with CRLF line terminators [bob@erasmas tmp]$ grep '^bird' testfile bird [bob@erasmas tmp]$ grep '^bird' testfile.dos bird [bob@erasmas tmp]$ grep '^bird$' testfile bird [bob@erasmas tmp]$ grep '^bird$' testfile.dos 

Note: This was on a Linux machine, as this is not specific to OS X (if this is infact the problem).

Run "file" on file.txt and see if it has CRLF line endings.

 
 
     
     
1
 
vote

Se você quiser manter a formatação do MS-DOS, você pode inserir o retorno do carro do MS-DOS dentro do padrão. No Linux, pressiono Ctrl-V Ctrl-M para produzir o literal ^M representando o MS-DOS CR (por vezes notado como ). Espero no OS X você encontrará como produzir o literal cr.

  grep --color=none "^bird^M$"    
 

If you want to keep the MS-DOS formatting, then you can insert the MS-DOS carriage return within the pattern. On linux I press CTRL-V CTRL-M to produce the literal ^M representing the MS-DOS CR (sometimes noted as \r). Hope on OS X you will find how to produce the literal CR.

grep --color=none "^bird^M$" 
 
 

Perguntas relacionadas

10  Como posso abrir vários shell de terminais personalizados?  ( How can i open multiple customized terminal shells ) 
Como posso personalizar o terminal para que, quando abro o aplicativo, ele abre várias guias do shell? Se possível, gostaria de ter como executar um script de...

3  Meu terminal no OSX 10.11.6 não aceita ""  ( My terminal on osx 10 11 6 will not accept character ) 
Toda vez que digito o terminal flashes, mas não o insere. Se eu colar em um comando que tenha um [ , ele vai colar tudo, exceto o [ 's Isso vem acontecen...

4  Você pode por favor explicar como o prompt do terminal funciona?  ( Can you please explain how the terminal prompt works ) 
Eu tenho uma pergunta sobre o prompt no terminal do Mac. Eu abri o terminal e estava instalando o Git. Eu não sei nada sobre o Unix ou como usar o terminal, p...

1  Figlet de leão de montanha através de erro de Macports?  ( Mountain lion figlet through macports error ) 
Acabei de instalar o leão da montanha, Xcode 4.4.1 + ferramentas de linha de comando e macportos para ml. Está trabalhando para outros pacotes, mas não cons...

404  Tem alguma dica ou truques para o terminal no Mac OS X?  ( Got any tips or tricks for terminal in mac os x ) 
. bloqueado . Esta questão e suas respostas são bloqueado Porque a questão é off-tópico, mas tem significado histórico. Atualmente não está aceit...

34  Caso-insensível ls classificação no Mac OSX  ( Case insensitive ls sorting in mac osx ) 
Como posso fazer o comando abcdefghijklmnls no max OS X Lion classificar arquivos e diretórios semelhantes a Como o Ubuntu Linux faz (caso-insensível, diret...

8  Ligue de volta ao meu Mac por meio de um script ou linha de comando  ( Turn on back to my mac via a script or command line ) 
O software VPN que eu uso para o trabalho ( IPsecuritas ) Requer que eu desligue de volta ao meu Mac para começar Conexão, então eu freqüentemente desligue de...

113  Existe um programa de terminal OS X que pode acessar portas seriais?  ( Is there an os x terminal program that can access serial ports ) 
Quais programas podem atuar como um terminal e acessar portas seriais? Isto não é para acesso terminal em uma conexão IP, isto é para que eu possa acessar u...

1  Redefinir configurações do usuário do Mail HeadHeaders no terminal  ( Reset custom mail userheaders settings in terminal ) 
Como redefina o seguinte comando? defaults write com.apple.mail UserHeaders '{"Reply-To" = "reply-to@address"; }' Eu tive que usar esta solução alterna...

22  Copie para a área de transferência de TMUX no El Capitan  ( Copy to clipboard from tmux in el capitan ) 
Estou muito feliz com as alterações do terminal no El Capitan (ver, por exemplo, este pergunta ). No entanto, não consigo descobrir como habilitar a cópia ...




© 2022 pergunte.org All Rights Reserved. Casa de perguntas e respostas todos os direitos reservados


Licensed under cc by-sa 3.0 with attribution required.