Unix를 사용하여 텍스트 파일의 세부 정보 형식을 지정하는 방법 [중복]

Unix를 사용하여 텍스트 파일의 세부 정보 형식을 지정하는 방법 [중복]

이는 "쉼표" 구분 기호가 있는 입력 파일입니다.

$ cat dine_final.txt
FILENAME,FILESIZE,FILECOUNT
bur_m2_j12_re_yyyymmdd.dat,1235,1254
bur_m2_j13_re_yyyymmdd.dat,125,12546825
bur_m2_j14_re_yyyymmdd.dat,12565652425,125856
bur_m2_j35_re_yyyymmdd.dat,125,12
bur_m2_j40_re_yyyymmdd.dat,123542,1254
macys_unified_RE_prod_yyyymmdd.dat,12354,1254

나는 출력이 좋은 형식을 갖기를 원합니다. "FILENAME" 아래의 모든 필드는 정확히 동일한 필드로 시작해야 하고, "FILESIZE"는 동일한 필드로 시작해야 하며, "FILECOUNT"는 동일한 필드로 시작해야 합니다.

FILENAME                                FILESIZE        FILECOUNT
bur_m2_j12_re_yyyymmdd.dat              1235            1254
bur_m2_j13_re_yyyymmdd.dat              125             12546825
bur_m2_j14_re_yyyymmdd.dat              12565652425     125856
bur_m2_j35_re_yyyymmdd.dat              125             12
bur_m2_j40_re_yyyymmdd.dat              123542          1254
macys_unified_RE_prod_yyyymmdd.dat      12354           1254

답변1

awk -F, '{printf "%-39s %-15s %-15s\n", $1, $2, $3}' input
  • 필드 구분 기호로 쉼표를 사용하도록 awk에 지시
  • 지정된 형식으로 결과 필드를 인쇄합니다.

필요에 따라 출력에 맞게 필드 너비를 조정해 보았습니다. -필드가 오른쪽 정렬이 아닌 왼쪽 정렬되었음을 나타냅니다 .%s

관련 정보