목록의 마지막 행만 표시하는 방법은 무엇입니까?

목록의 마지막 행만 표시하는 방법은 무엇입니까?

목록을 만들고 시간 속성을 기준으로 파일을 정렬한다고 가정해 보겠습니다.

ls -ltr

-rwxrwxrwx 1 bla bla 4096 Feb 01 20:10 foo1
-rwxrwxrwx 1 bla bla 4096 Feb 01 20:12 foo2
.
.
.
-rwxrwxrwx 1 bla bla 4096 Mar 05 13:25 foo1000

목록의 마지막 행만 가져오려면 파이프라인 체인에서 ls -ltr 뒤에 무엇을 추가해야 합니까? 나는 sed와 awk가 있다는 것을 알고 있지만 어떻게 사용하는지 모르고 그들이 무엇을 할 수 있는지 알고 있습니다.

답변1

sed에 대해 구체적으로 질문하셨기 때문에,

ls -ltr | sed '$!d'

답변2

당신이 찾고있는 tail:

ls -ltr | tail -n 1

ls -ltr그러면 출력의 마지막 줄만 표시됩니다. 다음 값을 변경하여 행 수를 제어할 수 있습니다 -n. 완전히 생략하면 -n 1행이 10개가 됩니다.

tail대신 사용하는 이점 sedtail개행 문자에 도달할 때까지 파일 끝에서 시작하는 반면, sed끝에 도달할 때까지 전체 파일을 순회한 다음 마지막 개행 문자를 찾은 이후의 텍스트만 반환해야 한다는 것입니다.

답변3

awk를 사용하세요:

ls -ltr | awk 'END { print }'

관련 정보