초보자를 위한 Linux shuf 명령 자습서(예제 포함)
이 페이지에서
- Linux shuf 명령
- Q1. shuf 명령을 사용하는 방법?\n
- Q2. 출력 라인 수를 제한하는 방법은 무엇입니까?\n
- Q3. 출력에서 줄 반복을 허용하는 방법은 무엇인가요?\n
- Q4. shuf가 입력 인수를 라인으로 처리하게 하는 방법은 무엇입니까?\n
- 결론
카드 게임을 해본 적이 있다면 셔플링이라는 용어를 알고 있을 것입니다. 상상하기 조금 어렵지만 파일의 라인으로 정확하게 수행하는 Linux 명령줄 도구가 있습니다. 이 자습서에서는 이해하기 쉬운 몇 가지 예를 사용하여 shuf 명령의 기본 사항에 대해 설명합니다.
하지만 그 전에 여기에 있는 모든 예제가 Ubuntu 18.04 LTS 시스템에서 테스트되었음을 언급할 가치가 있습니다.
리눅스 shuf 명령
Linux의 shuf 명령을 사용하면 임의 순열을 생성할 수 있습니다. 구문은 다음과 같습니다.
shuf [OPTION]... [FILE]
도구 매뉴얼 페이지에서 설명하는 방법은 다음과 같습니다.
Write a random permutation of the input lines to standard output.
다음은 shuf 명령의 작동 방식에 대한 더 나은 아이디어를 제공하는 몇 가지 Q&A 스타일 예제입니다.
Q1. shuf 명령을 사용하는 방법?
기본적인 사용법은 매우 간단합니다. 파일 이름을 입력으로 전달하십시오. 예를 들면 다음과 같습니다.
shuf test.txt
이제 test.txt 파일에는 다음 줄이 포함됩니다.
1
2
3
4
5
6
7
8
9
그러나 위의 shuf 명령은 다음과 같은 결과를 생성했습니다.
3
4
6
5
1
8
2
7
9
따라서 줄이 섞인 것을 볼 수 있습니다.
Q2. 출력 라인 수를 제한하는 방법은 무엇입니까?
shuf 출력의 줄 수를 제한하려면 -n 명령줄 옵션을 사용하십시오. 이 옵션은 출력에 원하는 최대 줄 수를 나타내는 숫자를 전달해야 합니다.
예를 들어:
shuf -n 3 test.txt
위의 명령은 다음과 같은 출력을 생성했습니다.
6
4
9
Q3. 출력에서 줄 반복을 허용하는 방법은 무엇인가요?
입력 파일에 9개의 줄이 포함되어 있지만 shuf가 출력보다 더 많은 줄을 생성하기를 원한다고 가정합니다(위에서 설명한 -n 옵션 사용). 이것은 -r 옵션을 사용하여 수행할 수 있습니다.
-r, --repeat
output lines can be repeated
따라서 shuf가 25줄의 출력을 생성하도록 하려면 다음 명령을 실행하십시오.
shuf -r -n 25 test.txt
이 명령이 생성한 출력은 다음과 같습니다.
6
8
4
5
9
3
3
1
2
5
7
5
9
5
8
5
2
8
8
7
4
4
8
5
3
Q4. shuf가 입력 인수를 라인으로 처리하게 하는 방법은 무엇입니까?
이를 위해 -e 명령줄 옵션을 사용합니다. 예를 들면 다음과 같습니다.
shuf -e 1 2 3 4 5 6 7 8 9
다음은 이 명령으로 생성된 출력입니다.
9
1
7
8
6
2
3
5
4
결론
동의합니다. shuf는 매일 필요한 종류의 도구는 아니지만 특히 학습 곡선이 그렇게 가파르지 않기 때문에 이 유틸리티에 대해 배우는 데 아무런 해가 없습니다. 여기에서 논의한 내용을 연습한 후에는 도구 설명서 페이지로 이동하여 자세한 내용을 알아보세요.