웹사이트 검색

7가지 흥미로운 Linux 'sort' 명령 예제 - 2부


지난 기사에서는 'sort' 명령의 다양한 예를 다루었습니다. 놓치신 분들은 아래 링크를 따라가시면 보실 수 있습니다. 이 게시물에서는 이전 기사에서 중단한 부분부터 계속하여 명령의 나머지 측면을 다룰 것입니다. 이렇게 하면 두 기사 모두 Linux 'sort' 명령에 대한 포괄적인 가이드 역할을 할 것입니다.

계속 진행하기 전에 'month.txt'라는 텍스트 파일을 만들고 아래 제공된 데이터로 채우십시오.

echo -e "mar\ndec\noct\nsep\nfeb\naug" > month.txt
cat month.txt

15. 파일 내용을 월별로 정렬하기

다음 명령은 '< Strong>sort' 명령을 사용하여 데이터를 날짜로 처리하고 그에 따라 정렬합니다.

sort -M month.txt

16. 사람이 읽을 수 있는 형식으로 파일 크기별로 출력 정렬

다음 명령은 'ls' 및 'sort' 명령을 결합하여 두 가지 작업을 수행합니다. 먼저 사용자 홈 디렉터리의 내용을 긴 형식으로 나열한 다음 이 디렉터리 목록을 'sort' 명령에 연결하여 사람이 읽을 수 있는 형식으로 파일 크기를 인쇄합니다. 디렉토리.

ls -l /home/$USER | sort -h -k5

17. 정렬된 파일의 일관성 확인

이전 기사에서는 두 개의 텍스트 파일인 'sorted.txt'(예제 4번)와 'lsl.txt'(예제 6번)를 생성했습니다. 우리는 ' sorted.txt'는 이미 정렬되어 있지만 'lsl.txt'는 정렬되어 있지 않습니다.

두 파일의 정렬 상태를 확인하기 위해 'sort' 명령을 사용하여 'sorted.txt'가 올바른 순서로 유지되는지 확인하고 'lsl.txt'에 정렬이 필요한지 여부.

sort -c sorted.txt

0을 반환하면 파일이 정렬되었으며 충돌이 없음을 의미합니다.

sort -c lsl.txt

18. 파일에서 공백을 사용하지 않을 때 구분 기호 처리

단어 사이의 구분 기호(구분 기호)가 공백인 경우 '정렬' 명령은 자동으로 가로 공백 뒤의 모든 항목을 새 단어로 해석합니다. 하지만 구분 기호가 공백이 아닌 경우에는 어떻게 되나요?

'|', '\' 또는 와 같이 공백 이외의 다른 문자로 내용이 구분된 텍스트 파일을 생각해 보세요. '+' 또는 '.' 또는 ...

+로 내용을 구분하는 텍스트 파일을 만듭니다. cat 명령을 사용하여 파일 내용을 확인합니다.

echo -e "21+linux+server+production\n11+debian+RedHat+CentOS\n131+Apache+Mysql+PHP\n7+Shell Scripting+python+perl\n111+postfix+exim+sendmail" > delimiter.txt
cat delimiter.txt

이제 숫자인 첫 번째 필드를 기준으로 이 파일을 정렬합니다.

sort -t '+' -nk1 delimiter.txt

두 번째는 숫자가 아닌 4번째 필드를 기반으로 합니다.

구분 기호가 Tab인 경우 위 예와 같이 '+' 대신 $'\t'를 사용할 수 있습니다.

19. 파일 크기에 따라 출력을 무작위로 정렬

'데이터 양'을 나타내는 다섯 번째 열을 기준으로 홈 디렉토리에 대한 ls -l 명령의 출력을 무작위 순서로 정렬합니다.

ls -l /home/avi/ | sort -k5 -R 

위 스크립트를 실행할 때마다 결과가 무작위로 생성되므로 다른 결과를 얻을 가능성이 높습니다.

지난 기사의 규칙 번호 – 2에서 알 수 있듯이 sort 명령은 대문자보다 소문자로 시작하는 줄을 선호합니다. 또한 마지막 기사의 예 3을 확인하세요. 여기서 'laptop' 문자열은 'LAPTOP' 문자열 앞에 나타납니다.

20. 기본 정렬 기본 설정 재정의

기본 정렬 기본 설정을 재정의하는 방법은 무엇입니까? 기본 정렬 기본 설정을 재정의하려면 먼저 환경 변수 'LC_ALL''C'로 내보내야 합니다.

이렇게 하려면 명령줄 프롬프트에서 아래 코드를 실행하세요.

export LC_ALL=C

그런 다음 기본 정렬 기본 설정을 무시하고 'tecmint.txt' 텍스트 파일을 정렬합니다.

sort tecmint.txt

출력을 예 3에서 얻은 출력과 비교하는 것을 잊지 말고 '-f'(일명 '--ignore-) 옵션을 사용할 수도 있습니다. case'를 사용하면 매우 체계적인 출력을 얻을 수 있습니다.

sort -f tecmint.txt

21. 단일 작업으로 두 개의 입력 파일 결합

두 개의 입력 파일에 대해 '정렬'을 실행하고 한 번에 결합하는 것은 어떻습니까?

'file1.txt' 및 'file2.txt'라는 두 개의 텍스트 파일을 만들고 여기에 데이터를 채워 보겠습니다. 'file1.txt'에 아래와 같이 숫자를 추가하겠습니다. 또한 cat 명령을 사용하여 파일 내용을 검사합니다.

echo -e “5 Reliable\n2 Fast\n3 Secure\n1 open-source\n4 customizable” > file1.txt
cat file1.txt

그리고 두 번째 파일 'file2.txt'를 다음과 같은 데이터로 채웁니다.

echo -e “3 RedHat\n1 Debian\n5 Ubuntu\n2 Kali\n4 Fedora” > file2.txt
cat file2.txt

이제 두 파일의 출력을 정렬하고 결합합니다.

join <(sort -n file1.txt) <(sort file2.txt)

결론

결론적으로, 이 기사에서는 Linux에서 'sort' 명령의 다양한 측면을 살펴보았습니다. 우리는 알파벳 순서에 따른 기본 정렬부터 시작하여 숫자 및 날짜 기반 정렬을 시도하고 사용자 정의 구분 기호까지 다루었습니다. 또한 필요에 맞게 기본 정렬 기본 설정을 재정의하는 방법도 배웠습니다.

또한 파일이 이미 정렬되어 있는지 확인하고 여러 입력 파일에 대한 '정렬' 작업을 결합하는 기술에 대해 논의했습니다. 여기에서 얻은 지식을 통해 Linux 환경에서 데이터를 효율적으로 정렬하고 구성할 수 있는 강력한 도구를 갖게 됩니다.

이 기사가 귀하의 명령줄 작업에 통찰력이 있고 유용했기를 바랍니다. Linux 기술을 향상하려면 '정렬' 기술을 계속 탐구하고, 배우고, 숙달하세요.