Linux에서 awk 출력을 가로로 인쇄하는 방법

사무라이

일부 파일을 greps하고 value를 인쇄하는 스크립트가 있지만 아래와 같이 세로로 제공됩니다.

size=190000
date=1603278566981
repo-name=testupload
repo-path=/home/test/testupload
size=140000
date=1603278566981
repo-name=testupload2
repo-path=/home/test/testupload2
size=170000
date=1603278566981
repo-name=testupload3
repo-path=/home/test/testupload3

다음과 같이 인쇄해야합니다.

size    date            repo-name          repo-path
190000  1603278566981   testupload      /home/test/testupload
140000  1603278566981   testupload2     /home/test/testupload2
170000  1603278566981   testupload3     /home/test/testupload3

나는 아래와 같은 것을 시도했지만 작동하지 않습니다.

awk

어쨌든 아래와 같은 형식으로 가로로 인쇄 할 수 있습니다.

size    date            repo-name          repo-path
190000  1603278566981   testupload      /home/test/testupload
140000  1603278566981   testupload2     /home/test/testupload2
170000  1603278566981   testupload3     /home/test/testupload3

제안하고 도와주세요

RavinderSingh13

GNU에 표시된 샘플을 따라 작성하고 테스트 해 보시기 바랍니다 awk.

awk '
BEGIN{ FS="=" }
/^size/{
  if(++count1==1){ header=$1 }
  sizeArr[++count]=$NF
  next
}
/^date/{
  if(++count2==1){ header=header OFS $1 }
  dateArr[count]=$NF
  next
}
/^repo-name/{
  if(++count3==1){ header=header OFS $1 }
  repoNameArr[count]=$NF
  next
}
/^repo-path/{
  if(++count4==1){ header=header OFS $1 }
  repopathArr[count]=$NF
  next
}
END{
  print header
  for(i=1;i<=count;i++){
    printf("%s %s %s %s\n",sizeArr[i],dateArr[i],repoNameArr[i],repopathArr[i])
  }
}
' Input_file | column -t

설명 : 위에 대한 자세한 설명을 추가합니다.

awk '                                        ##Starting awk program from here.
BEGIN{ FS="=" }                              ##Starting BEGIN section from here and setting field separator as = here.
/^size/{                                     ##If line starts from size then do following.
  if(++count1==1){ header=$1 }               ##Checking if count1 variable is 1 then setting 1st field value as header.
  sizeArr[++count]=$NF                       ##Creating sizeArr with increasing count with 1 as an index and value is last field.
  next                                       ##next will skip all further statements.
}
/^date/{                                     ##If line starts from date then do
  if(++count2==1){ header=header OFS $1 }    ##Checking if count2 variable is 1 then setting 1st field value as header.
  dateArr[count]=$NF                         ##Creating dateArr with count as an index and value is last field.
  next                                       ##next will skip all further statements.
}
/^repo-name/{                                ##If line starts from repo-name then do
  if(++count3==1){ header=header OFS $1 }    ##Checking if count3 variable is 1 then setting 1st field value as header.
  repoNameArr[count]=$NF                     ##Creating repoNameArr with count as an index and value is last field.
  next                                       ##next will skip all further statements.
}
/^repo-path/{                                ##If line starts from repo-path then do
  if(++count4==1){ header=header OFS $1 }    ##Checking if count4 variable is 1 then setting 1st field value as header.
  repopathArr[count]=$NF                     ##Creating repopathArr with count as an index and value is last field.
  next                                       ##next will skip all further statements.
}
END{                                         ##Starting END block of this program from here.
  print header                               ##Printing header here.
  for(i=1;i<=count;i++){                     ##Starting loop from 1 to value of count.
    printf("%s %s %s %s\n",sizeArr[i],dateArr[i],repoNameArr[i],repopathArr[i]) ##Printing all array values here with index as i here.
  }
}
' Input_file | column -t                     ##mentioning Input_file name and sendig awk output to column command for better looks.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Linux에서 awk 출력을 가로로 인쇄하는 방법

분류에서Dev

awk 명령 내에서 특정 출력을 인쇄하는 방법

분류에서Dev

awk에서 여러 출력 줄을 함께 인쇄하는 방법

분류에서Dev

awk ** 스크립트 ** (cli가 아님)에서 stdout으로 인쇄하는 것을 방지하는 방법

분류에서Dev

발생 횟수 (AWK)에 따라 인쇄 출력을 제한하는 방법

분류에서Dev

Google지도 출력을 R에서 pdf로 인쇄하는 방법

분류에서Dev

awk가 같은 줄에 3 개의 항목을 인쇄하고 새 줄로 전환하는 방법

분류에서Dev

AWK를 사용하여 항상 특정 자릿수로 출력을 인쇄하는 방법

분류에서Dev

awk의 출력을 배열에 저장하고 쉼표 구분 기호가있는 파일로 인쇄

분류에서Dev

awk + awk 출력을 한 줄로 인쇄

분류에서Dev

awk에서 새 줄을 인쇄하는 방법

분류에서Dev

AWK 명령 출력을 첫 번째 인수로 Python에 파이프하는 방법

분류에서Dev

원격 ssh 세션에서 awk로 특정 열을 인쇄하는 방법은 무엇입니까?

분류에서Dev

규칙을 결합하고 프롤로그에서 출력을 인쇄하는 방법

분류에서Dev

awk로 열을 인쇄하고 동시에 하나의 열만 편집하는 방법은 무엇입니까?

분류에서Dev

특정 방식으로 출력을 인쇄하는 방법

분류에서Dev

목록으로 인쇄하지 않고 사전에서 값을 출력하는 방법은 무엇입니까?

분류에서Dev

하위 프로세스에서 출력의 일부를 인쇄하는 방법

분류에서Dev

출력에서 부울 메서드로 반환 유형을 인쇄하는 방법은 무엇입니까?

분류에서Dev

R에서 벡터로 함수의 인쇄 된 출력을 저장하는 방법은 무엇입니까?

분류에서Dev

Label에서 출력을 인쇄하기 위해 tkinter로 도구를 만드는 방법

분류에서Dev

BASH의 변수에서 HTML 출력으로 여러 줄을 인쇄하는 방법

분류에서Dev

R에서 출력 이미지를 반복적으로 인쇄하는 방법

분류에서Dev

awk에서 시간을 처리하고 출력을 csv 파일의 새 열로 스펀지하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

awk 질문-고유 한 날짜에 대해서만 추가 줄을 인쇄하는 방법

분류에서Dev

TCL에서 아래 출력을 인쇄하는 방법

분류에서Dev

R에서 Excel 파일로 출력을 가져 오는 방법

분류에서Dev

Linux, awk 및 파일에서 연속 줄을 계산하고 인쇄하는 방법은 무엇입니까?

분류에서Dev

awk에서 열의 한 줄에서 패턴을 인쇄하는 방법

Related 관련 기사

  1. 1

    Linux에서 awk 출력을 가로로 인쇄하는 방법

  2. 2

    awk 명령 내에서 특정 출력을 인쇄하는 방법

  3. 3

    awk에서 여러 출력 줄을 함께 인쇄하는 방법

  4. 4

    awk ** 스크립트 ** (cli가 아님)에서 stdout으로 인쇄하는 것을 방지하는 방법

  5. 5

    발생 횟수 (AWK)에 따라 인쇄 출력을 제한하는 방법

  6. 6

    Google지도 출력을 R에서 pdf로 인쇄하는 방법

  7. 7

    awk가 같은 줄에 3 개의 항목을 인쇄하고 새 줄로 전환하는 방법

  8. 8

    AWK를 사용하여 항상 특정 자릿수로 출력을 인쇄하는 방법

  9. 9

    awk의 출력을 배열에 저장하고 쉼표 구분 기호가있는 파일로 인쇄

  10. 10

    awk + awk 출력을 한 줄로 인쇄

  11. 11

    awk에서 새 줄을 인쇄하는 방법

  12. 12

    AWK 명령 출력을 첫 번째 인수로 Python에 파이프하는 방법

  13. 13

    원격 ssh 세션에서 awk로 특정 열을 인쇄하는 방법은 무엇입니까?

  14. 14

    규칙을 결합하고 프롤로그에서 출력을 인쇄하는 방법

  15. 15

    awk로 열을 인쇄하고 동시에 하나의 열만 편집하는 방법은 무엇입니까?

  16. 16

    특정 방식으로 출력을 인쇄하는 방법

  17. 17

    목록으로 인쇄하지 않고 사전에서 값을 출력하는 방법은 무엇입니까?

  18. 18

    하위 프로세스에서 출력의 일부를 인쇄하는 방법

  19. 19

    출력에서 부울 메서드로 반환 유형을 인쇄하는 방법은 무엇입니까?

  20. 20

    R에서 벡터로 함수의 인쇄 된 출력을 저장하는 방법은 무엇입니까?

  21. 21

    Label에서 출력을 인쇄하기 위해 tkinter로 도구를 만드는 방법

  22. 22

    BASH의 변수에서 HTML 출력으로 여러 줄을 인쇄하는 방법

  23. 23

    R에서 출력 이미지를 반복적으로 인쇄하는 방법

  24. 24

    awk에서 시간을 처리하고 출력을 csv 파일의 새 열로 스펀지하는 가장 좋은 방법은 무엇입니까?

  25. 25

    awk 질문-고유 한 날짜에 대해서만 추가 줄을 인쇄하는 방법

  26. 26

    TCL에서 아래 출력을 인쇄하는 방법

  27. 27

    R에서 Excel 파일로 출력을 가져 오는 방법

  28. 28

    Linux, awk 및 파일에서 연속 줄을 계산하고 인쇄하는 방법은 무엇입니까?

  29. 29

    awk에서 열의 한 줄에서 패턴을 인쇄하는 방법

뜨겁다태그

보관