grep 명령. "^1"이 작동하지 않습니다

grep 명령. "^1"이 작동하지 않습니다
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:

위에서 언급했듯이 grep '^1' n_modified.txt1로 시작하는 문장은 제공되지 않습니다. 왜?

답변1

예를 들어 다음 줄은 다음과 같습니다.

    10  sites

space그 이후로1

다음 명령을 사용해야 합니다.

grep '^\s*1' n_modified.txt 

이 예를 보세요:http://regexr.com/39cas

답변2

모든 입력 줄은 숫자 1이 아닌 공백으로 시작하므로 정규 표현식이 실패합니다.

노력하다:

$ 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

또는:

awk '$1 ~ /^1/' file

관련 정보