지정된 절단 순서로 CSV 파일 열을 표시하는 방법

지정된 절단 순서로 CSV 파일 열을 표시하는 방법

-d "," -f 32,4,6,43,12,9를 자르기 위해 csv 파일의 필드를 잘라냈습니다. 샘플 CSV 파일에는 과일 1 야채 2 꽃 3 동물 4 새 5 열이 포함되어 있습니다.

"flowers3 veg2bird5" 열을 갖도록 이 파일을 잘라내고 있는데 여기에서 파일의 출력은 컷에 지정된 순서가 아닙니다.

대신 열 번호의 오름차순으로 정렬됩니다. 즉. 야채 2 꽃 3 새 5

파일의 출력이 컷에 지정된 열 번호 순서대로 나타나기를 원합니다.

답변1

매뉴얼 페이지에 따르면 cut은 열의 순서를 바꿀 수 없습니다. 선택한 필드는 읽은 순서와 동일한 순서로 기록됩니다.

cut(1) 매뉴얼 페이지:

-b, -c 또는 -f 중 하나만 사용하십시오. 각 LIST는 하나의 범위 또는 쉼표로 구분된 여러 범위로 구성됩니다. 선택한 입력은 읽은 순서와 동일한 순서로 기록되며 정확히 한 번 기록됩니다.

하지만 awk를 사용하여 필요한 작업을 수행할 수 있습니다.

awk -F "," '{print($32,$4,$6,$43,$12,$9)}' text.csv

관련 정보