공백으로 구분된 섹션이 있는 일부 텍스트 줄을 출력하는 CLI 한 줄짜리 명령이 있다고 가정해 보겠습니다. 이러한 섹션은 논리적으로 열이어야 하지만 텍스트 너비로 인해 그렇게 보이지는 않습니다.
이런 종류의 출력을 좋은 열로 자동 형식화하려면 어떻게 해야 합니까?
예를 들어 다음과 같은 출력이 있습니다.
Alice param1 param2345 32768 50 16
Bob param2345 param1 512 10 1
_debug_user_ param0 param0 0 0 0
나는 그것을 원한다
Alice param1 param2345 32768 50 16
Bob param2345 param1 512 10 1
_debug_user_ param0 param0 0 0 0
답변1
리눅스 사용 column(1)
:
column -t <file.txt
BSD 사용 rs(1)
:
rs 0 6 <file.txt
그리고 awk(1)
:
awk 'FNR==NR { for(i=1; i<NF; i++) if(length($i)>w[i]) w[i]=length($i) }
FNR!=NR { for(i=1; i<NF; i++) $i=sprintf("%-" (w[i]+1) "s", $i); print }' \
file.txt file.txt