-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