웹사이트 검색

14 Linux 'sort' 명령의 유용한 예 - 1부


'정렬' 명령은 입력 텍스트 파일의 줄을 인쇄하고 모든 파일을 정렬된 순서로 연결하는 데 사용되는 Linux 프로그램입니다. Sort 명령은 공백을 필드 구분 기호로 사용하고 전체 입력 파일을 정렬 키로 사용합니다. sort 명령은 실제로 파일을 정렬하지 않고 출력을 리디렉션할 때까지 정렬된 출력만 인쇄한다는 점에 유의하는 것이 중요합니다.

이 기사는 Linux에서 sort 명령을 사용하는 방법을 보여주는 14가지 유용한 실제 예제를 통해 Linux 'sort' 명령에 대한 깊은 통찰력을 제공하는 것을 목표로 합니다.

1. 특정 내용을 담은 텍스트 파일 생성

먼저, 'tecmint.txt'라는 텍스트 파일을 생성합니다. 이 파일은 이 작업에 대한 작업 디렉터리에서 'sort' 명령 예제를 실행하는 데 사용됩니다. /home/$USER/Desktop/tecmint'.

아래 명령의 '-e' 옵션을 사용하면 백슬래시를 해석할 수 있으며 /n는 echo 명령에 각 문자열을 새 줄에 쓰도록 지시합니다.

echo -e "computer\nmouse\nLAPTOP\ndata\nRedHat\nlaptop\ndebian\nlaptop" > tecmint.txt

2. 파일 내용 보기

'sort' 명령을 시작하기 전에 다음 cat 명령을 사용하여 파일 내용과 파일이 어떻게 나타나는지 살펴보겠습니다.

cat tecmint.txt

3. 파일 내용 정렬

"sort tecmint.txt" 명령은 파일의 줄을 알파벳 오름차순으로 재정렬하는 데 사용됩니다. 중복된 줄이 있는 경우 각 고유 줄의 복사본이 하나씩 유지됩니다.

sort tecmint.txt

참고: 위 명령은 텍스트 파일의 내용을 정렬하지 않고 정렬된 출력만 터미널에 표시합니다.

4. 정렬된 출력을 새 파일로 리디렉션

다음 명령은 텍스트 파일 "tecmint.txt"의 행을 알파벳 순서로 정렬한 다음 정렬된 출력을 "sorted.txt라는 새 파일로 리디렉션하는 데 사용됩니다. "는 원본 파일은 변경되지 않고, 정렬된 내용은 별도의 파일에 저장된다는 의미입니다.

내용을 확인하려면 cat 명령을 사용하십시오.

sort tecmint.txt > sorted.txt
cat sorted.txt

5. 파일 내용을 역순으로 정렬하기

다음 명령은 텍스트 파일 “tecmint.txt”의 줄을 역순으로 정렬하는 데 사용됩니다. 즉, 줄을 알파벳 내림차순으로 정렬하고 정렬된 출력이 새 줄로 리디렉션됩니다. 'reversesorted.txt'라는 파일

sort -r tecmint.txt > reversesorted.txt
cat reversesorted.txt

6. 파일 및 디렉터리 목록 저장

다음 명령은 ls 명령을 사용하여 사용자의 홈 디렉터리("/home/$USER")의 내용을 자세한 긴 형식 보기로 나열한 다음 이 디렉터리 목록을 다음으로 리디렉션하는 데 사용됩니다. 사용자 데스크탑, 특히 "tecmint" 디렉토리에 있는 "lsl.txt"라는 텍스트 파일.

ls -l /home/$USER > /home/$USER/Desktop/tecmint/lsl.txt
cat lsl.txt

이제 기본 초기 문자가 아닌 필드를 기준으로 내용을 정렬하는 예를 살펴보겠습니다.

7. 두 번째 필드를 기준으로 '파일 내용 정렬'

다음 명령은 각 줄의 두 번째 필드 값을 기준으로 "lsl.txt" 파일의 내용을 정렬하는 데 사용됩니다. '-n' 옵션은 숫자 정렬을 나타내며 두 번째 필드를 텍스트가 아닌 숫자로 처리합니다.

'-k2' 옵션은 두 번째 필드를 기준으로 정렬하도록 지정합니다. 이 명령을 실행하면 "lsl.txt"에서 정렬된 행 목록을 얻을 수 있으며, 정렬 기준은 각 행의 두 번째 필드에 있는 숫자 값입니다.

sort -nk2 lsl.txt

8. 아홉 번째 필드를 기준으로 파일 내용 정렬

다음 명령은 각 줄의 9번째 필드 값을 기준으로 "lsl.txt" 파일의 줄을 오름차순으로 정렬하는 데 사용됩니다. '-k9' 옵션은 9번째 필드를 기준으로 정렬이 수행되도록 지정합니다.

sort -k9 lsl.txt

9. 파일 크기별로 파일 정렬

다음 명령은 'ls' 및 'sort' 명령을 결합하여 사용자 홈 디렉토리의 내용을 긴 목록 형식으로 나열한 다음 디렉토리 목록을 'sort -nk5'는 파일 크기를 나타내는 다섯 번째 열의 값을 기준으로 목록을 정렬합니다.

ls -l /home/$USER | sort -nk5

10. 파일에서 중복된 줄 제거하기

다음 명령은 "tecmint.txt" 파일의 줄을 알파벳 오름차순으로 정렬하고 "<를 나타내는 '-u' 옵션을 사용하여 중복된 줄을 제거합니다. Strong>unique'를 사용하여 정렬된 출력에 고유한 줄이 유지되도록 합니다.

cat tecmint.txt
sort -u tecmint.txt

지금까지의 규칙(우리가 관찰한 것):

  • 숫자로 시작하는 줄은 목록에서 선호되며 달리 지정(-r)될 때까지 맨 위에 놓입니다.
  • 소문자로 시작하는 줄은 목록에서 선호되며 달리 지정(-r)될 때까지 맨 위에 놓입니다.
  • 별도로 지정(-r)하지 않는 한 사전에 나오는 알파벳을 기준으로 내용이 나열됩니다.
  • Sort 명령은 기본적으로 각 줄을 문자열로 처리한 다음 별도로 지정하지 않는 한 사전에 나오는 알파벳(숫자 선호, 규칙 – 1 참조)에 따라 정렬합니다.

11. 디렉토리 목록을 파일로 리디렉션

다음 명령은 숨겨진 파일 및 디렉터리를 포함하여 사용자 홈 디렉터리의 내용을 긴 형식으로 나열한 다음 디렉터리 목록을 사용자 데스크톱에 있는 "lsla.txt"라는 텍스트 파일로 리디렉션합니다. "tecmint" 디렉토리.

ls -lA /home/$USER > /home/$USER/Desktop/tecmint/lsla.txt
cat lsla.txt

ls 명령에 익숙한 사람들은 'ls -lA''ls -l'에 숨겨진 파일을 더한 것과 동일하다는 것을 이해합니다. 결과적으로 이 두 명령의 내용은 대부분 동일합니다.

12. 파일 내용 정렬

다음 명령은 두 개의 텍스트 파일 'lsl.txt' 및 'lsla.txt'의 내용을 알파벳 오름차순으로 정렬한 다음 정렬된 내용을 다음과 같이 결합하여 표시합니다. 터미널.

sort lsl.txt lsla.txt

파일과 폴더가 반복되는 것을 확인하세요.

13. 파일에서 중복된 줄 제거하기

다음 명령은 두 개의 텍스트 파일 'lsl.txt' 및 'lsla.txt'의 내용을 알파벳 오름차순으로 병합하고 정렬하는 동시에 다음을 사용하여 중복된 줄을 제거합니다. '-u' 옵션은 정렬된 출력에 고유한 줄이 유지되도록 보장합니다.

sort -u lsl.txt lsla.txt

출력에서 중복 항목이 생략되었습니다. 또한 출력을 리디렉션하여 새 파일에 저장할 수 있습니다.

14. 사용자 정의 구분 기호를 사용하여 여러 필드별로 출력 정렬

다음 명령은 'ls' 및 'sort' 명령을 결합하여 사용자 홈 디렉터리의 내용을 긴 형식으로 나열한 다음 디렉터리 목록을 '< Strong>sort' 명령은 특정 열과 필드를 기준으로 출력을 정렬합니다.

ls -l /home/$USER | sort -t "," -nk2,5 -k9

명령에 대한 분석은 다음과 같습니다.

  • -t "," – 쉼표 (",")가 필드 구분 기호로 사용되도록 지정합니다.
  • -nk2,5 – 일반적으로 권한 및 소유권 세부 정보를 나타내는 열 2~5의 숫자 값을 기준으로 정렬됨을 나타냅니다.
  • -k9 – 파일 크기를 나타내는 9번째 열을 기준으로 결과를 추가로 정렬합니다.

지금은 여기까지입니다. 다음 기사에서는 정렬 명령에 대한 더 자세한 예를 살펴보겠습니다.

계속해서 공유하고 댓글을 달고 좋아요를 눌러 더 많은 청중에게 다가갈 수 있도록 도와주세요.