![열을 독립적으로 정렬하는 방법은 무엇입니까? [폐쇄]](https://linux55.com/image/57455/%EC%97%B4%EC%9D%84%20%EB%8F%85%EB%A6%BD%EC%A0%81%EC%9C%BC%EB%A1%9C%20%EC%A0%95%EB%A0%AC%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%ED%8F%90%EC%87%84%5D.png)
$ sort -t $'\t' -k 1rn,1 -k 2,2rn -k 3f,4 listaprezzi
2050 900 bananas 5
1905 700 grapes 17
250 4000 oranges 10
230 9200 figs 4
220 5000 lemons 10
200 8000 pears 8
listaprezzi
첫 번째 열을 숫자 역순(옵션 rn
)으로 정렬하고 두 번째 rn
열도 알파벳순( )으로 정렬 하고 싶습니다 f
. 올바른 명령은 무엇입니까?
여러 가지 방법을 시도했지만 성공하지 못했습니다.
답변1
귀하의 질문을 올바르게 이해했다면 데이터를 다시 정렬하고 싶을 것입니다. 즉, 동일한 행의 여러 필드를 독립적으로 정렬(위 또는 아래로)하려는 것입니다. bare 를 사용하면 이 작업을 수행할 수 없으며 sort
, 다른 도구를 사용해야 합니다. 예를 들어 다음과 같이 awk
작성할 paste
수 있습니다.
$ paste <(awk '{print $1}' listaprezzi | sort -nr) <(awk '{print $2}' \
listaprezzi | sort -nr) <(awk '{print $3}' listaprezzi | sort) <(awk \
'{print $4}' listaprezzi)
밝혀지다
2050 9200 bananas 5
1905 8000 figs 17
250 5000 grapes 10
230 4000 lemons 4
220 900 oranges 10
200 700 pears 8