선행 및 후행 숫자가 제공된 경우 파일의 출력을 찾는 방법

선행 및 후행 숫자가 제공된 경우 파일의 출력을 찾는 방법

파일 foo에 9개의 라인이 포함되어 있고 각 라인은 파일 라인의 한 자리 라인 번호(1~9)인 경우 화면에 이 명령의 출력은 무엇입니까?

sort foo foo | tail -2 | head -1

답은 9인데 어떻게 얻었는지 이해가 안 돼요. 이 sort명령은 실제로 무엇을 수행합니까?

마찬가지로, foo99개 라인이 포함되어 있고 각 라인이 파일 라인의 두 자리 라인 번호(01 - 99)인 경우 이 명령의 출력은 다음과 같습니다.

sort -r foo foo | tail -4 | head -1

답변1

에서 언급했듯이수동"텍스트 파일의 줄 정렬"을 정렬합니다. 이것은 분명히 다른 일을 하기보다는 기본 지식을 테스트하는 까다로운 질문입니다. 동일한 tail -1 foo출력이 있습니다.

> echo -e "1\n2\n3\n4\n5\n6\n7\n8\n9" > foo
> sort foo
1
2
3
4
5
6
7
8
9
> sort foo foo
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
> sort foo foo | tail -2
9
9
> sort foo foo | tail -2 | head -1
9

foo가 두 번 전달된 것을 놓치면 답이 8이라고 생각할 수도 있고, 어떤 명령이 무엇을 하는지 모른다면 질문에 답할 수 없고 추측만 할 수 있을 것입니다.

관련 정보