목록을 만들고 시간 속성을 기준으로 파일을 정렬한다고 가정해 보겠습니다.
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
대신 사용하는 이점 sed
은 tail
개행 문자에 도달할 때까지 파일 끝에서 시작하는 반면, sed
끝에 도달할 때까지 전체 파일을 순회한 다음 마지막 개행 문자를 찾은 이후의 텍스트만 반환해야 한다는 것입니다.
답변3
awk를 사용하세요:
ls -ltr | awk 'END { print }'