Linux / 명령어 / column - 텍스트를 읽기 좋은 표 형태로 정렬

column은 들쭉날쭉한 텍스트를 보기 쉬운 열 형태로 배치합니다. util-linux의 column -t는 구분된 필드의 폭을 맞춰 터미널에서 읽기 좋은 표를 만듭니다.

column 명령어란?

이는 표시 형식을 바꾸는 명령이지 데이터를 구조적으로 검증하는 파서가 아닙니다. 출력 폭, 긴 값의 줄바꿈과 색상 처리 등은 util-linux 버전에 따라 달라질 수 있습니다. 명령이 없다면 별도 패키지 설치가 필요할 수 있습니다.

기본 문법

column [옵션] [파일 ...]

설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man column으로 현재 시스템의 설명을 확인하세요.

사용 예제

공백 구분 표 정렬

필드 폭을 계산해 열을 맞춥니다.

column -t packages.txt

콜론 구분 입력

-s로 입력 구분자를 지정하고 -t로 표 형식을 만듭니다.

column -s ':' -t /etc/passwd

명령 출력 정리

표준 입력으로 받은 결과를 터미널에 보기 좋게 출력합니다.

printf 'name score\nkim 90\nlee 85\n' | column -t

표 형태 출력 확인하기

column -t는 입력 열의 너비를 계산해 공백으로 맞춥니다. 다음 예제는 공백으로 구분한 두 열을 정렬합니다.

printf 'NAME AGE\nAna 7\nBenjamin 12\n' | column -t

예시 출력(공백 수는 구현에 따라 달라질 수 있음):

NAME      AGE
Ana       7
Benjamin  12

표시는 사람이 읽기 편하지만 구조화 데이터를 안전하게 내보내는 포맷은 아닙니다. 스크립트가 열을 다시 파싱해야 한다면 공백 정렬 결과 대신 탭·CSV·JSON처럼 명확한 구분 형식을 유지하세요. 배포판마다 column의 옵션 지원 범위가 다를 수 있습니다.

주요 옵션과 형식

옵션·형식 설명
-t 입력을 표로 형식화합니다.
-s 구분자 입력 필드의 구분자를 지정합니다.
-o 구분자 출력 열 사이의 구분자를 지정합니다.
-x 기본 열 채우기 방향을 행 우선으로 변경합니다.

사용할 때 주의할 점

열이 정렬돼 보여도 이를 데이터 교환 형식으로 믿지 마세요. 터미널 너비나 버전에 따라 출력이 달라질 수 있습니다. CSV의 따옴표 규칙 같은 복잡한 형식은 이 간단한 예제에 맞지 않습니다.

자주 묻는 질문

column 명령이 없다는 메시지가 나오면?

사용 중인 배포판에서 util-linux의 column 제공 패키지가 설치됐는지 확인하세요. 패키지 이름은 배포판마다 다를 수 있습니다.

공식 문서

옵션의 정확한 동작과 구현별 차이는 column 관련 공식 문서에서 확인할 수 있습니다.

같은 카테고리의 다른 글
Linux / 디스크 관리 / 파티션, 포맷, 마운트

Linux / 디스크 관리 / 파티션, 포맷, 마운트

Linux에서 디스크를 관리할 때 필요한 파티션 생성, 파일 시스템 포맷, 마운트 방법을 정리했습니다.

Linux / 명령어 / traceroute - 목적지까지 라우터 경로 추적

Linux / 명령어 / traceroute - 목적지까지 라우터 경로 추적

Linux traceroute 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / cut - 행에서 문자와 필드 추출

Linux / 명령어 / cut - 행에서 문자와 필드 추출

Linux cut 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux 강좌 / systemd 서비스와 부팅 로그 확인하기

Linux 강좌 / systemd 서비스와 부팅 로그 확인하기

리눅스 부팅 흐름과 systemd 유닛을 이해하고 서비스의 실행 상태와 자동 시작 설정을 구분합니다. systemctl과 journalctl로 상태·부팅 로그를 확인합니다.

Linux / 명령어 / apk - Alpine Linux 패키지 설치·제거와 저장소 갱신

Linux / 명령어 / apk - Alpine Linux 패키지 설치·제거와 저장소 갱신

Linux apk 명령어의 적용 배포판과 기본 작업을 설명합니다. 패키지 조회·설치 예제, 주요 옵션과 시스템 변경 시 주의점을 알아봅니다.

Linux / 명령어 / cmp - 두 파일을 바이트 단위로 비교

Linux / 명령어 / cmp - 두 파일을 바이트 단위로 비교

Linux cmp 명령어로 두 파일을 바이트 단위로 비교하는 방법을 설명합니다. 첫 차이 위치, 조용한 검사, 모든 차이 출력과 종료 상태 활용법을 정리합니다.

Linux / 명령어 / printenv - 환경 변수 값 출력

Linux / 명령어 / printenv - 환경 변수 값 출력

Linux printenv 명령어로 전체 또는 특정 환경 변수 값을 확인하는 방법을 설명합니다. 셸 변수와 환경 변수의 차이, 종료 상태, NUL 구분 출력과 env와의 차이를 정리합니다.

Linux / 명령어 / nmap - 허가된 호스트의 포트와 서비스 조사

Linux / 명령어 / nmap - 허가된 호스트의 포트와 서비스 조사

Linux nmap 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / ssh-copy-id - SSH 공개키를 원격 계정에 등록

Linux / 명령어 / ssh-copy-id - SSH 공개키를 원격 계정에 등록

Linux ssh-copy-id 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / shred - 파일 데이터 덮어쓰기

Linux / 명령어 / shred - 파일 데이터 덮어쓰기

Linux shred 명령어로 파일이나 장치의 데이터를 덮어쓰는 방법과 한계를 설명합니다. SSD, 저널링·복사 방식 파일 시스템, 스냅샷 환경에서 완전 삭제를 보장할 수 없는 이유도 알아봅니다.