sed 명령에 대한 도움이 필요합니다

sed 명령에 대한 도움이 필요합니다

sed2000년부터 2009년(포함) 사이에 출시된 다음 게임을 검색하려면 단일 명령을 입력하는 데 도움이 필요합니다 . (/) 검색을 시도했지만 작동하지 않습니다.

1   Wii Sports                    Wii  2006 Nintendo            41.36
2   Super Mario Bros.             NES  1985 Nintendo            29.08
3   Duck Hunt                     NES  1985 Nintendo            26.93
4   Tetris                        GB   1989 Nintendo            23.20
5   Mario Kart Wii                Wii  2008 Nintendo            15.91
6   Wii Sports Resort             Wii  2009 Nintendo            15.61
7   Kinect Adventures!            X360 2010 MS Game Studios     15.09
8   New Super Mario Bros. Wii     Wii  2009 Nintendo            14.53
9   Wii Play                      Wii  2007 Nintendo            13.96
10  Super Mario World             SNES 1991 Nintendo            12.78
11  New Super Mario Bros.         DS   2006 Nintendo            11.28
12  Pokémon Red/Green/Blue        GB   1998 Nintendo            11.27
13  Super Mario Land              GB   1989 Nintendo            10.83
14  Call of Duty: Black Ops       X360 2010 Activision           9.76
15  Mario Kart DS                 DS   2005 Nintendo             9.71
16  Super Mario Bros. 3           NES  1990 Nintendo             9.54
17  Grand Theft Auto:San Andreas  PS2  2004 Rockstar Games       9.43
18  Call of Duty: Modern Warfare  X360 2011 Activision           9.07
19  Grand Theft Auto V            X360 2013 Rockstar Games       9.06

답변1

사용하는 것이 더 좋습니다이 사용 사례를 텍스트 처리 도구로 사용하는 동안 위의 방법을 사용하여 원하는 항목을 검색할 수 있습니다(이 방법은 목록에서만 작동합니다).

sed  -n '/200[0-9]/p' file

-n : 전체 파일 출력을 억제합니다.

p 명령: 일치하는 패턴을 인쇄하는 데 사용됩니다.

그리고AWK(열이 탭으로 구분되어 있다고 가정):

awk -F '\t' '{if($4 >= 2000 && $4 <= 2009 ) {print $0}}' file  

답변2

고정 너비 필드이고 모든 문자의 너비가 1이고 너비가 1인 경우(너비 0 또는 이중 너비 문자 및 TAB와 같은 제어 문자 없음) 다음을 수행할 수 있습니다.

<your-file grep -E '^.{38}200[0-9] '

연도 필드가 39열에서 시작한다고 가정합니다.

즉, 문자( ) ^로 시작 하고 그 뒤에 200, 0~9 범위의 문자 및 공백이 오는 줄을 찾습니다.38.

답변3

sed 대신 grep을 사용하는 것이 좋습니다.

터미널에서 실행: cat YOURFILE |

YOURFILE을 파일 이름으로 바꾸세요. YEAR를 해당 연도에 출시된 모든 게임을 확인하려는 연도로 바꾸세요.

도움이 되었기를 바랍니다!

관련 정보