질문

질문

질문

결과는 grep -A 4 davidson file.txt다음과 같습니다.

davidson 0 27  |r|= 0.00244  e= [-0.04073962  0.42777949  0.44157777  0.45997235  0.45997235  0.51613738 
  0.55005554  0.5538866   0.5538866   0.57108874  0.63182267  0.68741162
  0.68741186  0.69608     0.78013465  0.78013465  0.78042162  0.78688599
  0.78688599  0.79381315  0.79381317  0.80049466  0.80049466  0.92062423
  0.93453524  1.01356402  1.01942272]  max|de|= 1.02  lindep= 0.809
--
davidson 1 54  |r|= 3.26  e= [-0.04073964  0.42777928  0.44157749  0.45997213  0.45997213  0.51613724
  0.55005542  0.55388652  0.55388652  0.57108822  0.63182247  0.68741026
  0.68741031  0.69607963  0.78013252  0.78013252  0.78042159  0.78688546
  0.78688546  0.793812    0.793812    0.80049354  0.80049354  0.92062408
  0.93453361  0.97904591  1.01356325  1.01945088]  max|de|= -0.0404  lindep= 0.694
--
davidson 2 66  |r|= 0.523  e= [-0.04073964  0.02576398  0.42777928  0.44157749  0.45997212  0.45997212
  0.51613724  0.55005542  0.55388652  0.55388652  0.57108822  0.63182247
  0.68741006  0.68741006  0.69607962  0.78013218  0.78013218  0.78042159
  0.78688546  0.78688546  0.79381179  0.79381179  0.80049292  0.80049292
  0.92062408  0.93453351  1.01356275  1.01942294]  max|de|= -0.953  lindep= 0.278

위의 세 가지 출력 세트 각각에 대해 첫 번째 행과 마지막 행만 원하는 경우에는 어떻게 되나요?davidson특히 문자열의 각 인스턴스에 대해 행 1-5를 가져오는 대신 행 1과 5만 가져오고 싶습니다.

이전에 시도한 연구

내가 검색한 내용은 다음과 같습니다.

"grep -A"이지만 일부 줄을 삭제했습니다.

Google과 unix.se의 검색창을 사용하면 많은 결과를 얻지 못했습니다. 특히 이후 검색에서는이것). 다음은 Google 검색에서 찾은 몇 가지 결과와 내 문제가 해결되지 않는 것 같은 이유입니다.

이 질문을 입력할 때 다음과 같은 질문이 나에게 제안되었습니다.

하지만 이들 중 어느 것도 내 문제를 해결하지 못합니다.

답변1

안타깝게도 원시 데이터 샘플을 제공하지 않았지만 위의 출력을 사용하면 원하는 결과를 얻을 수 있을까요?

대신 grep -A4 ...다음을 시도해 보세요.

awk '/davidson/{h=NR;line=$0} NR==h+4{print line;print $0}' file.txt

관련 정보