grep. '^ 1' não funciona

0
ttys000 -bash: cat n_modified.txt 
     1  calibre library
     2  desktop
     3  documents
     4  downloads
     5  library
     6  movies
     7  music
     8  pictures
     9  public
    10  sites
    11  myfirstdirectory
    12  vasylgolub.conf
    13  CALIBRE LIBRARY
    14  DESKTOP
    15  DOCUMENTS
    16  DOWNLOADS
    17  LIBRARY
    18  MOVIES
    19  MUSIC
    20  PICTURES
    21  PUBLIC
    22  SITES
    23  MYFIRSTDIRECTORY
    24  VASYLGOLUB.CONF
    25                 
    26         
    27           
    28           
    29         
    30        
    31       
    32          
    33        
    34       
    35                  
    36            .    
    37  CALIBRE LIBRARY
    38  DESKTOP
    39  DOCUMENTS
    40  DOWNLOADS
    41  LIBRARY
    42  MOVIES
    43  MUSIC
    44  PICTURES
    45  PUBLIC
    46  SITES
    47  MYFIRSTDIRECTORY
    48  VASYLGOLUB.CONF

ttys000 -bash: grep '^1' n_modified.txt 

ttys000 -bash:

Como acima, grep '^1' n_modified.txt não me dá as frases que começam com 1. Por quê?

    
por Vasilii Alexander Golub 22.08.2014 / 12:53

2 respostas

2

por exemplo, esta linha:

    10  sites

começou com space , em seguida, 1

você deve usar este comando:

grep '^\s*1' n_modified.txt 

veja este exemplo: link

    
por 22.08.2014 / 13:00
1

Como cada linha de sua entrada começa com espaço, não com o número 1, sua regex falhará.

Tente:

$ LC_ALL=C grep '^[[:blank:]]*1' file
     1  calibre library
    10  sites
    11  myfirstdirectory
    12  vasylgolub.conf
    13  CALIBRE LIBRARY
    14  DESKTOP
    15  DOCUMENTS
    16  DOWNLOADS
    17  LIBRARY
    18  MOVIES
    19  MUSIC

ou:

awk '$1 ~ /^1/' file
    
por 22.08.2014 / 13:49

Tags