2017-12-18 6 views
0

,다른 열의 문자열을 기반으로 데이터를 grep하는 방법은 무엇입니까? 나는 다음과 같은 데이터를 가지고있는 aa.dat이

frame  1 16980 O 17115H 17123H 
FRAME  1 16980 O 16971H 16981H 
frame  1 16982 O 17110H 17121H 
FRAME  1 16982 O 16961H 16978H 
frame  1 16984 O 17124H 17127H 
FRAME  1 16984 O 16983H 16990H 
frame  1 17110 O 17102H 17225H 
FRAME  1 17110 O 16951H 17138H 
FRAME  2 16982 O 16961H 16978H 
frame  2 16984 O 17124H 17127H 
FRAME  2 16984 O 16983H 16990H 
frame  2 17110 O 17102H 17225H 
FRAME  2 17110 O 16951H 17138H 
... 
frame  3 16984 O 17124H 17127H 
FRAME  3 16984 O 16983H 16990H 
frame  3 17110 O 17102H 17225H 
FRAME  3 17110 O 16951H 17138H 
frame  4 16980 O 17115H 17123H 
FRAME  4 16980 O 16971H 16981H 
frame  4 16982 O 17110H 17121H 
FRAME  4 16982 O 16961H 16978H 
frame  4 17110 Ac 17102H 17225H 
FRAME  4 17110 Ac 16952H 17118H 
... 

나는 내 코드 만 3

FRAME  1 17110 O 16951H 17138H 
FRAME  2 17110 O 16951H 17138H 
FRAME  3 17110 O 16951H 17138H 
FRAME  4 17110 Ac 16952H 17118H 
... 

그러나 열에서 "프레임"과 "17110"로 데이터를 얻으려면

grep -E 'FRAME.*17110' aa.dat 

17110H로 구성된 행에서 데이터를 분리 할 수 ​​없습니다.

모든 제안과 도움을 주시면 감사하겠습니다.

보다도,

레온

답변

0
grep -P 'FRAME.*17110\W' aa.dat 

간략한 설명,

  • -P : 펄 정규 표현식으로 해석 PATTERN
  • (\W 만이 아닌 단어를 허용 할 추가 된, 즉 [^a-zA-Z_])