awk 또는 대안을 사용하여 첫 번째 열 다음에 모든 공백을 유지하면서 두 개의 열을 렌더링하는 방법은 무엇입니까?

awk 또는 대안을 사용하여 첫 번째 열 다음에 모든 공백을 유지하면서 두 개의 열을 렌더링하는 방법은 무엇입니까?

내 출력은 공백 하나와 디렉터리 이름이 뒤따르는 사람이 읽을 수 있는 숫자로 표시됩니다.

현재 사용하고 있는 ...

awk '{ printf "%-20s %-40s\n", $1, $2 }'

입력

1G foo
1.5M foo baz 
5K foo spaces in this directory

산출

1G    foo
1.5M  foo 
5K    foo 

원하는

1G    foo
1.5M  foo baz 
5K    foo spaces in this directory

awk 또는 대안을 사용하여 두 번째 열의 모든 공백을 유지하는 공백 구분 기호를 사용하여 두 개의 열로 분할하는 방법은 무엇입니까?

답변1

이 시도:

$ awk '{ printf "%-20s ", $1; $1=""; print $0 }' input 
1G                    foo
1.5M                  foo baz
5K                    foo spaces in this directory

선행 열을 빈 문자열로 재설정하는 것은 나머지 필드/열을 모두 인쇄하는 일반적인 방법입니다.

관련 정보