웹사이트 검색

초보자를 위한 Linux 정렬 명령 자습서(예제 8개)


이 페이지에서

  1. Linux 정렬 명령
  2. Q1. 정렬 명령을 사용하는 방법?\n
  3. Q2. 선행 공백을 무시하도록 정렬하는 방법은 무엇입니까?\n
  4. Q3. 정렬을 무시하는 방법은 무엇입니까?\n
  5. Q4. 정렬 비교 번호를 만드는 방법은 무엇입니까?\n
  6. Q5. 사람이 읽을 수 있는 숫자 값으로 정렬 작업을 수행하는 방법은 무엇입니까?\n
  7. Q6. 정렬된 입력만 확인하도록 정렬하는 방법은 무엇입니까?\n
  8. Q7. 이미 정렬된 파일을 정렬 병합하는 방법은 무엇입니까?\n
  9. Q8. 정렬 결과를 파일에 쓰는 방법은 무엇입니까?
  10. 결론

텍스트 파일의 콘텐츠를 정렬하는 명령줄 유틸리티를 찾고 계십니까? 이러한 목적을 위해 특별히 제작된 도구인 Sort만 있으면 됩니다. 이 자습서에서는 이해하기 쉬운 몇 가지 예를 사용하여 이 명령에 대해 설명합니다. 하지만 그 전에 여기에 있는 모든 예제가 Ubuntu 22.04 LTS 시스템에서 테스트되었음을 언급할 가치가 있습니다.

리눅스 정렬 명령

정렬 명령을 사용하면 텍스트 파일의 줄을 정렬할 수 있습니다. 구문은 다음과 같습니다.

sort [OPTION]... [FILE]...

도구 설명서 페이지에서 설명하는 방법은 다음과 같습니다.

Write sorted concatenation of all FILE(s) to standard output.
With no FILE, or when FILE is -, read standard input.

다음은 정렬 명령이 작동하는 방식에 대한 좋은 아이디어를 제공하는 몇 가지 Q&A 스타일의 예입니다.

Q1. 정렬 명령을 사용하는 방법?

일부 이름이 포함된 파일이 있고 이를 알파벳순으로 정렬하려고 한다고 가정합니다. 그런 다음 정렬 명령에 대한 입력으로 파일 이름을 전달하기만 하면 됩니다.

예를 들어:

sort file1

따라서 파일 1에 다음 줄이 포함된 경우:

Zimbabwe
Serbia
Norway
Australia

그러면 출력은 다음과 같습니다.

Australia
Norway
Serbia
Zimbabwe

예를 들면 다음과 같습니다.

Q2. 선행 공백을 무시하도록 정렬하는 방법은 무엇입니까?

로케일에 따라 행에 선행 공백이 포함된 경우 정렬이 예기치 않은 결과를 생성하는 것을 볼 수 있습니다. 예를 들어:

파일에 다음 줄이 포함되어 있다고 가정합니다.

Zimbabwe
 Serbia
  Norway
Australia

그리고 정렬을 실행하면 다음 결과만 표시됩니다.

  Norway
 Serbia
Australia
Zimbabwe

예상치 못한 것처럼 보일 수 있지만 실제로 발생한 것은 선행 공백을 포함하는 행이 공백을 기준으로 정렬되고 다른 행은 알파벳순으로 정렬된다는 것입니다. 정렬 명령이 선행 공백을 무시하는지 확인하려면 -b 옵션을 사용하십시오. 따라서 이 경우 다음과 같은 결과를 얻게 됩니다.

Australia
  Norway
 Serbia
Zimbabwe

Q3. 정렬을 무시하는 방법은 무엇입니까?

파일에 대문자와 소문자로 시작하는 단어/줄이 있는 경우 sort는 대문자가 맨 위에 있는 항목을 표시합니다. 그러나 원하는 경우 -f 명령줄 옵션을 사용하여 이 동작을 변경할 수 있습니다.

예를 들어:

sort -f file1

Q4. 정렬 비교 번호를 만드는 방법은 무엇입니까?

파일에 숫자만 포함되어 있고 순서대로 정렬하려고 한다고 가정합니다. 그런 다음 -g 명령줄 옵션을 사용하여 이를 가능하게 할 수 있습니다.

sort -g file1

예를 들어 다음 내용이 포함된 파일:

32000
2500
50000
54

다음 결과를 생성하기 위해 sort 명령을 사용하여 정렬할 수 있습니다.

54
2500
32000
50000

Q5. 사람이 읽을 수 있는 숫자 값으로 정렬 작업을 수행하는 방법은 무엇입니까?

1K, 2G 등과 같이 사람이 읽을 수 있는 숫자 값으로 정렬 작업을 수행하려면 -h 명령줄 옵션을 사용하십시오.

sort -h file1

예를 들어 다음 줄이 있는 파일입니다.

1M
2G
3K

-h 옵션을 사용하여 다음과 같은 방식으로 정렬할 수 있습니다.

3K
1M
2G

Q6. 정렬된 입력만 확인하도록 정렬하는 방법은 무엇입니까?

파일이 정렬되었는지 여부만 확인하기 위해 정렬하려는 경우 -c 명령줄 옵션을 사용합니다.

sort -c file1

예를 들어 file1에 다음 줄이 포함된 경우:

dhg
lkh
zyb
abd

그런 다음 -c를 사용하면 sort가 다음 출력을 생성하는 것을 볼 수 있습니다.

sort: file1:4: disorder: abd

따라서 도구가 장애를 가리킬 뿐만 아니라 해당 위치도 출력하는 것을 관찰합니다.

Q7. 이미 정렬된 파일을 정렬 병합하는 방법은 무엇입니까?

정렬하여 이미 정렬된 두 파일을 병합하려면 -m 명령줄 옵션을 사용하십시오.

sort -m file1 file2

예를 들어 file1과 file2 모두 제 경우에는 다음과 같은 줄이 포함되어 있습니다.

abd
dhg
lkh
zyb

-m 옵션이 이러한 파일을 병합하는 방법은 다음과 같습니다.

abd
abd
dhg
dhg
lkh
lkh
zyb
zyb

Q8. 정렬 결과를 파일에 쓰는 방법은 무엇입니까?

기본적으로 정렬 명령은 출력을 STDOUT에 기록합니다. 그러나 -o 옵션을 사용하여 지정된 파일에 쓰도록 강제할 수 있습니다.

예를 들어:

sort file1 -o output.txt

결론

정렬 명령은 많은 옵션을 제공합니다. 여기에서 몇 가지 핵심 사항에 대해 논의했습니다. 이를 먼저 연습하고 완료한 후에는 명령 매뉴얼 페이지로 이동하여 이에 대해 자세히 알아보세요.