다음 줄이 누락 된 경우 줄 인쇄

jesse_b

이것은 일치하는 경우 awk print 2 줄 과 관련이 있지만 내 명령에는 해결할 수없는 버퍼링 문제가 있기 때문에 더 나은 방법은 stderr을 완전히 무시하고 특정 줄이 누락 된 출력을 찾는 것입니다.

따라서 내 출력은 다음과 같습니다.

Gathering drive descriptors ...
Gathering data for drive 0 ...
Drive Model: DataTraveler 2.0
Gathering data for drive 1 ...
Drive name:  id1,sd@n5000cca17096
Drive Model: HUH721010AL4204
Drive Speed: 7200 RPMs
Drive Temp:  41 C

Gathering data for drive 2 ...
Drive name:  id1,sd@n5000cca24156
Drive Model: HUH721010AL4204
Drive Speed: 7200 RPMs
Drive Temp:  41 C

Gathering data for drive 3 ...
Drive name:  id1,sd@n5000cca8749
Drive Model: HUH721010AL4204
Gathering data for drive 4 ...
Drive name:  id1,sd@n5000cca19183
Drive Model: HUH721010AL4204
Drive Speed: 7200 RPMs
Drive Temp:  41 C

Gathering data for drive 5 ...
Drive name:  id1,sd@n5000cca4607
Drive Model: HUSMH8010BSS204
Gathering data for drive 6 ...
Drive name:  id1,sd@n5000cca10152
Drive Model: HUH721010AL4204
Drive Speed: 7200 RPMs
Drive Temp:  41 C

그리고 출력 싶습니다 Drive name누락 된 모든 드라이브 Drive SpeedDrive Temp선.

출력은 다음과 같아야합니다.

Drive name:  id1,sd@n5000cca8749
Drive name:  id1,sd@n5000cca4607

이것은 내 능력을 넘어서는 것이지만 나는 그것을 awk할 수 있다고 확신 하지만을 사용하도록 설정되어 awk있지 않으며 작업을 수행하는 모든 것이 작동합니다 (GNU 도구가 없음). 감사!

이끼

정규식 및 다중 문자 (레코드 구분 기호) 를 지원하는 mawk사용 :gawkRS

awk -v RS='Gathering data' -F'\n' '/Drive name/ && !/Drive Speed/ && !/Drive Temp/{print$(NF-2)}' file

awk이를 지원하지 않는를 사용하면 입력을 필터링하여 양식 공급과 같은 단일 문자로 바꿀 수 있습니다.

awk '/Gathering data/{$0="\f"} 1' file | awk -v RS='\f' -F'\n' '/Drive name/ && !/Drive Speed/ && !/Drive Temp/{print$(NF-2)}'

레코드 내의 행이 고정 된 순서가 아닌 경우를 생략하여 전체 레코드를 인쇄 한 {print ...}다음 grep 등으로 출력을 필터링 할 수 있습니다.

이 접근 방식은 일치 조건이 명백한 방식 (예 : /Drive Speed: 7200 RPMs/대신) 으로 수정 될 수 있다는 장점이 있으며 !/foo/ && !/bar/, 전체 파일을 메모리에로드하지 않으며 가장 중요한 것은 일부를 작성할 필요가 없다는 것입니다. 둔한 상태 기계.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

파이썬에서 누락 된 줄을 인쇄하는 방법?

분류에서Dev

해당 줄 또는 다음 줄에 특정 문자열이없는 경우 줄을 인쇄하는 방법

분류에서Dev

명령 기록에 처음 75 줄이 누락 된 것 같습니다.

분류에서Dev

두 결과를 비교하고 누락 된 부분이있는 경우 인쇄

분류에서Dev

다음 줄에 특정 일치 항목이없는 경우에만 줄을 인쇄합니다.

분류에서Dev

git repo에 누락 된 줄

분류에서Dev

Java : 특정 단어가 포함 된 경우 한 줄 인쇄

분류에서Dev

검색된 각 줄에 대해 "Match Found"를 인쇄하고 전체 파일에서 검색이없는 경우 "Match not Found"를 인쇄합니다.

분류에서Dev

16.04-느린 로그인, 배경 화면 없음, 작업 표시 줄에 이미지 아이콘 누락

분류에서Dev

16.04-느린 로그인, 배경 화면 없음, 작업 표시 줄에 이미지 아이콘 누락

분류에서Dev

다음 줄에 Nasm 인쇄

분류에서Dev

마지막 줄이 누락 된 2D 배열을 채우는 BufferReader

분류에서Dev

XYMultipleSeriesRenderer가있는 TimeChart에 누락 된 값이있는 줄이 있습니다.

분류에서Dev

XYMultipleSeriesRenderer가있는 TimeChart에 누락 된 값이있는 줄이 있습니다.

분류에서Dev

누락 된 필드를 아래 줄의 값으로 채우기

분류에서Dev

패턴이 포함 된 줄을 인쇄하고 패턴이있는 다음 줄까지 다음 줄을 연결합니다.

분류에서Dev

Python-인쇄 된 출력이 다른 줄에 표시됨

분류에서Dev

파일을 한 줄씩 읽은 다음 Python에서 값 범위가있는 문자열이 포함 된 경우 줄을 인쇄하는 방법은 무엇입니까?

분류에서Dev

출력에 다른 표현식이 포함 된 경우 표현식과 일치하는 줄을 stdout에 인쇄합니다.

분류에서Dev

변수에 누락 된 값이있는 경우 DS에 변수 값이 있는지 확인한 다음 열을 삭제합니다.

분류에서Dev

시작시 값을 확인하고 값이 누락 된 경우 뷰 컨트롤러를 표시합니다.

분류에서Dev

messaging.sh : 줄 29 : [: 누락 된`] '

분류에서Dev

spark-submit 누락 된 명령 줄 arugments

분류에서Dev

계정이 확인 된 경우 API를 통해`company [tax_id]`를 변경할 수 없습니다. 줄무늬

분류에서Dev

연결된 경우 다른 Chromecast 작업 표시 줄 아이콘

분류에서Dev

다음 줄이 같은 경우 줄 삭제

분류에서Dev

내용이 다음 줄에도있는 경우 줄 삭제

분류에서Dev

awk 특정 필드에 특정 번호가 포함 된 경우 전체 줄을 인쇄하는 한 줄

분류에서Dev

하위 요소가 누락 된 경우 드롭 다운 인덱싱 손실

Related 관련 기사

  1. 1

    파이썬에서 누락 된 줄을 인쇄하는 방법?

  2. 2

    해당 줄 또는 다음 줄에 특정 문자열이없는 경우 줄을 인쇄하는 방법

  3. 3

    명령 기록에 처음 75 줄이 누락 된 것 같습니다.

  4. 4

    두 결과를 비교하고 누락 된 부분이있는 경우 인쇄

  5. 5

    다음 줄에 특정 일치 항목이없는 경우에만 줄을 인쇄합니다.

  6. 6

    git repo에 누락 된 줄

  7. 7

    Java : 특정 단어가 포함 된 경우 한 줄 인쇄

  8. 8

    검색된 각 줄에 대해 "Match Found"를 인쇄하고 전체 파일에서 검색이없는 경우 "Match not Found"를 인쇄합니다.

  9. 9

    16.04-느린 로그인, 배경 화면 없음, 작업 표시 줄에 이미지 아이콘 누락

  10. 10

    16.04-느린 로그인, 배경 화면 없음, 작업 표시 줄에 이미지 아이콘 누락

  11. 11

    다음 줄에 Nasm 인쇄

  12. 12

    마지막 줄이 누락 된 2D 배열을 채우는 BufferReader

  13. 13

    XYMultipleSeriesRenderer가있는 TimeChart에 누락 된 값이있는 줄이 있습니다.

  14. 14

    XYMultipleSeriesRenderer가있는 TimeChart에 누락 된 값이있는 줄이 있습니다.

  15. 15

    누락 된 필드를 아래 줄의 값으로 채우기

  16. 16

    패턴이 포함 된 줄을 인쇄하고 패턴이있는 다음 줄까지 다음 줄을 연결합니다.

  17. 17

    Python-인쇄 된 출력이 다른 줄에 표시됨

  18. 18

    파일을 한 줄씩 읽은 다음 Python에서 값 범위가있는 문자열이 포함 된 경우 줄을 인쇄하는 방법은 무엇입니까?

  19. 19

    출력에 다른 표현식이 포함 된 경우 표현식과 일치하는 줄을 stdout에 인쇄합니다.

  20. 20

    변수에 누락 된 값이있는 경우 DS에 변수 값이 있는지 확인한 다음 열을 삭제합니다.

  21. 21

    시작시 값을 확인하고 값이 누락 된 경우 뷰 컨트롤러를 표시합니다.

  22. 22

    messaging.sh : 줄 29 : [: 누락 된`] '

  23. 23

    spark-submit 누락 된 명령 줄 arugments

  24. 24

    계정이 확인 된 경우 API를 통해`company [tax_id]`를 변경할 수 없습니다. 줄무늬

  25. 25

    연결된 경우 다른 Chromecast 작업 표시 줄 아이콘

  26. 26

    다음 줄이 같은 경우 줄 삭제

  27. 27

    내용이 다음 줄에도있는 경우 줄 삭제

  28. 28

    awk 특정 필드에 특정 번호가 포함 된 경우 전체 줄을 인쇄하는 한 줄

  29. 29

    하위 요소가 누락 된 경우 드롭 다운 인덱싱 손실

뜨겁다태그

보관