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


12

목록을 만들고 시간 속성으로 파일을 정렬한다고 가정합니다.

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가 있다는 것을 알고 있지만, 그것들을 사용하는 방법을 모르고, 그들이 할 수있는 일만 알고 있습니다.

답변:


25

sed에 대해 구체적으로 물었으므로

ls -ltr | sed '$!d'

고마워, 나는 지금 약간의 콘크리트 sed를 배운 것을 조금 자랑스럽게 생각합니다.
Abdul Al Hazred

3
또한 sed -n '$p'동일한 작업을 수행하지만 실제로 tail -1작업에 적합한 도구입니다.
imiric

감사! 나는 / proc / cpuinfo에서 마지막 줄을 추출하고 쉽게 선행 0을 다듬 었습니다 (RPi3 일련 번호를 쉽게 추출하는 데 사용) :sed '$!d s/.*: 0\+//' /proc/cpuinfo
Yaron

11

당신이 찾고있는 것 tail:

ls -ltr | tail -n 1

ls -ltr출력 의 마지막 줄만 표시됩니다 . -n; 이후의 값을 변경하여 줄 수를 제어 할 수 있습니다 . -n 1완전히 생략 하면 열 줄이 생깁니다.


완벽하고 매우 빠르고 유용한 답변
Abdul Al Hazred

tail -1... -n중복입니다.
dhchdhd

@Barry tail -1는 더 이상 사용되지 않습니다 ( POSIX 사양tail 의 "RATIONALE"섹션 또는 GNU tails설명서 의 마지막 부분 참조 ). 이 경우에는 여전히 작동하지만 예제에서는 사용하지 않는 것이 가장 좋습니다.
Stephen Kitt

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.