줄 열이있는 표 형식으로 텍스트 파일의 출력을 인쇄하는 방법

Praveen

내 출력 파일에는 다음이 포함됩니다.

output.txt

2020.11.07-22.3.31 INFO - :|FSNAME:|AVAILABLE:|AVAILABILITY
2020.11.07-22.3.31 INFO - :|/opt:|yes:|1.4GB
2020.11.07-22.3.31 INFO - :|/data:|yes:|30GB

위의 값은 output.txt거기에서 각각의 변수에 더 해져서 출력의 크기가 다르고 글자에 제한을 둘 수 없습니다.

column또는 miller명령이 설치 되지 않았습니다 !

아래 방법을 사용했지만 출력이 순서가 아닙니다.

  • awk '{ gsub(":", " " ) } 1' output.txt
    2020.11.07-22.3.31 INFO -  |FSNAME |AVAILABLE |AVAILABILITY
    2020.11.07-22.3.31 INFO -  |/opt |yes |1.4GB
    2020.11.07-22.3.31 INFO -  |/data |yes |30GB
    
  • awk -F ':' '{printf "%-10s%-10s%-10s%-10s\n", $1,$2,$3,$4}' output.txt
    2020.11.07-22.3.31 INFO -  |FSNAME    |AVAILABLE|AVAILABILITY
    2020.11.07-22.3.31 INFO -  |/opt      |yes      |1.4GB
    2020.11.07-22.3.31 INFO -  |/data     |yes      |30GB
    

내 출력 파일에 기록 된 가변 크기 중 하나가 10 초 이상이면 형식이 아래와 같이 좋지 않습니다.

output.txt

2020.11.07-22.3.31 INFO - :|FSNAME:|AVAILABLE:|AVAILABILITY
2020.11.07-22.3.31 INFO - :|/opt:|yessssssss:|1.4GB
2020.11.07-22.3.31 INFO - :|/data:|yes:|30GB
awk -F ':' '{printf "%-10s%-10s%-10s%-10s\n", $1,$2,$3,$4}' output.txt
2020.11.07-22.3.31 INFO -  |FSNAME    |AVAILABLE|AVAILABILITY
2020.11.07-22.3.31 INFO -  |/opt      |yessssssss|1.4GB
2020.11.07-22.3.31 INFO -  |/data     |yes      |30GB

해결책을 도와주세요?

AdminBee

다음 이중 패스 접근 방식은 필드를 고정 열 너비로 형식화해야합니다.

awk -F':\\|' -v OFS='|' 'NR==FNR{for (i=1;i<=NF;i++) {if (length($i)>max[i]) max[i]=length($i);} next;}
           {for (i=1;i<=NF;i++) $i=sprintf("%-*s",max[i],$i)}1' output.txt output.txt

이것은 output.txt 두 번 처리 됩니다 (따라서 인수로 두 번 지정해야합니다 awk).

  • 첫 번째 패스 ( FNR, 파일 당 NR라인 카운터는 전역 라인 카운터와 같음 )에서 각 필드 항목의 최대 길이를 찾고 (에서 $1까지의 모든 필드를 반복 하여 $NF) 저장합니다. 배열 max.
  • 두 번째 단계에서는 최대 필드 너비 배열 sprintf에서 결정된 고정 너비로 필드를 (재) 형식화합니다 max.
  • 입력을위한 필드 구분 기호는 결합 된 :|문자 시퀀스 로 간주 됩니다 (다중 문자 입력 필드 구분 기호는 정규식으로 처리되고 |특별한 의미를 갖기 때문에 적절한 이스케이프 포함 ). 출력 필드 구분 기호는 단일 |.

귀하의 예에 대한 결과

2020.11.07-22.3.31 INFO - |FSNAME|AVAILABLE|AVAILABILITY
2020.11.07-22.3.31 INFO - |/opt  |yes      |1.4GB       
2020.11.07-22.3.31 INFO - |/data |yes      |30GB        

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

PHP를 사용하여 적절한 형식으로 텍스트 파일의 내용을 인쇄하는 방법

분류에서Dev

출력 텍스트 파일의 새 줄에 출력을 넣는 방법

분류에서Dev

둘 이상의 출력 줄을 텍스트 파일로 리디렉션하는 방법은 무엇입니까?

분류에서Dev

잘라내기로 텍스트 파일의 특정 줄을 인쇄하는 방법

분류에서Dev

콘솔에 명령 줄의 출력을 표시하고 출력을 텍스트 파일에 저장하는 방법은 무엇입니까?

분류에서Dev

두 개의 에코 출력을 별도의 줄에 텍스트 파일로 만드는 방법

분류에서Dev

텍스트 파일의 각 줄에서 문자열을 확인하고 해당 단어가있는 모든 줄을 새 텍스트 파일로 인쇄하는 방법은 무엇입니까?

분류에서Dev

Google 테스트 출력을 텍스트 파일로 인쇄하는 방법은 무엇입니까?

분류에서Dev

정규식을 분할하고 텍스트 파일의 텍스트를 한 줄로 표시하지 않는 방법

분류에서Dev

QPrinter로 텍스트 파일을 인쇄하는 방법

분류에서Dev

for 루프 출력을 텍스트 파일로 인쇄하는 방법은 무엇입니까?

분류에서Dev

c # 텍스트 파일의 줄을 두 개의 동일한 부분으로 나누고 두 개의 다른 목록 상자에 표시하는 방법

분류에서Dev

탭으로 구분 된 형식의 텍스트 파일에 html 테이블로 내용을 표시하는 방법

분류에서Dev

쉼표로 구분 된 텍스트 파일에서 읽은 줄에 하위 문자열을 만드는 방법

분류에서Dev

Python : 표 형식으로 문자열을 출력하는 방법

분류에서Dev

mips에서 텍스트 파일에 새 줄을 인쇄하는 방법은 공백을 인쇄합니다.

분류에서Dev

자바에서 텍스트 파일의 첫 줄을 읽고 인쇄하는 방법은 무엇입니까?

분류에서Dev

Raphael 인쇄 방법의 출력에서 자동 텍스트 줄 바꿈하는 방법은 무엇입니까?

분류에서Dev

Raphael 인쇄 방법의 출력에서 자동 텍스트 줄 바꿈하는 방법은 무엇입니까?

분류에서Dev

|| Python의 텍스트 파일에있는 텍스트를 기반으로 특정 줄을 인쇄합니다.

분류에서Dev

파일에서 텍스트를 검색하고 줄을 표시하는 방법

분류에서Dev

텍스트 파일에서 쉼표로 구분 된 줄에서 특정 줄과 값을 얻는 방법

분류에서Dev

csv 파일 또는 텍스트 파일을 사용하여 웹 스크랩 데이터를 표 형식으로 가져 오는 방법 (Pandas 사용 안 함)

분류에서Dev

Ubuntu의 명령 줄에서 Qt 콘솔 출력을 텍스트 파일에 저장하는 방법

분류에서Dev

SQLCMD의 파일에 텍스트 줄을 추가하는 방법

분류에서Dev

텍스트 파일을 원하는 출력으로 포맷하는 방법

분류에서Dev

텍스트 파일에서 임의의 줄을 표시하는 방법은 무엇입니까?

분류에서Dev

텍스트 파일에서 임의의 줄을 표시하는 방법은 무엇입니까?

분류에서Dev

파일의 다른 줄과 중복되는 줄에 일부 데이터가있는 줄을 제거하는 PHP 스크립트를 작성하는 방법. 텍스트 파일의 각 줄이 콜론으로 구분되는 경우

Related 관련 기사

  1. 1

    PHP를 사용하여 적절한 형식으로 텍스트 파일의 내용을 인쇄하는 방법

  2. 2

    출력 텍스트 파일의 새 줄에 출력을 넣는 방법

  3. 3

    둘 이상의 출력 줄을 텍스트 파일로 리디렉션하는 방법은 무엇입니까?

  4. 4

    잘라내기로 텍스트 파일의 특정 줄을 인쇄하는 방법

  5. 5

    콘솔에 명령 줄의 출력을 표시하고 출력을 텍스트 파일에 저장하는 방법은 무엇입니까?

  6. 6

    두 개의 에코 출력을 별도의 줄에 텍스트 파일로 만드는 방법

  7. 7

    텍스트 파일의 각 줄에서 문자열을 확인하고 해당 단어가있는 모든 줄을 새 텍스트 파일로 인쇄하는 방법은 무엇입니까?

  8. 8

    Google 테스트 출력을 텍스트 파일로 인쇄하는 방법은 무엇입니까?

  9. 9

    정규식을 분할하고 텍스트 파일의 텍스트를 한 줄로 표시하지 않는 방법

  10. 10

    QPrinter로 텍스트 파일을 인쇄하는 방법

  11. 11

    for 루프 출력을 텍스트 파일로 인쇄하는 방법은 무엇입니까?

  12. 12

    c # 텍스트 파일의 줄을 두 개의 동일한 부분으로 나누고 두 개의 다른 목록 상자에 표시하는 방법

  13. 13

    탭으로 구분 된 형식의 텍스트 파일에 html 테이블로 내용을 표시하는 방법

  14. 14

    쉼표로 구분 된 텍스트 파일에서 읽은 줄에 하위 문자열을 만드는 방법

  15. 15

    Python : 표 형식으로 문자열을 출력하는 방법

  16. 16

    mips에서 텍스트 파일에 새 줄을 인쇄하는 방법은 공백을 인쇄합니다.

  17. 17

    자바에서 텍스트 파일의 첫 줄을 읽고 인쇄하는 방법은 무엇입니까?

  18. 18

    Raphael 인쇄 방법의 출력에서 자동 텍스트 줄 바꿈하는 방법은 무엇입니까?

  19. 19

    Raphael 인쇄 방법의 출력에서 자동 텍스트 줄 바꿈하는 방법은 무엇입니까?

  20. 20

    || Python의 텍스트 파일에있는 텍스트를 기반으로 특정 줄을 인쇄합니다.

  21. 21

    파일에서 텍스트를 검색하고 줄을 표시하는 방법

  22. 22

    텍스트 파일에서 쉼표로 구분 된 줄에서 특정 줄과 값을 얻는 방법

  23. 23

    csv 파일 또는 텍스트 파일을 사용하여 웹 스크랩 데이터를 표 형식으로 가져 오는 방법 (Pandas 사용 안 함)

  24. 24

    Ubuntu의 명령 줄에서 Qt 콘솔 출력을 텍스트 파일에 저장하는 방법

  25. 25

    SQLCMD의 파일에 텍스트 줄을 추가하는 방법

  26. 26

    텍스트 파일을 원하는 출력으로 포맷하는 방법

  27. 27

    텍스트 파일에서 임의의 줄을 표시하는 방법은 무엇입니까?

  28. 28

    텍스트 파일에서 임의의 줄을 표시하는 방법은 무엇입니까?

  29. 29

    파일의 다른 줄과 중복되는 줄에 일부 데이터가있는 줄을 제거하는 PHP 스크립트를 작성하는 방법. 텍스트 파일의 각 줄이 콜론으로 구분되는 경우

뜨겁다태그

보관