Linux 명령 출력에서 ​​첫 번째 줄 생략


167

아래 출력에서 ls -latr "some path"제거해야하기 때문에 출력에서 첫 번째 줄을 생략하고 싶은 요구 사항 total 136이 있습니다.

여기에 이미지 설명을 입력하십시오

그래서 나는 ls -latr /home/kjatin1/DT_901_linux//autoInclude/system | tail -q첫 번째 줄을 제외하고 썼지 만 폴더가 비어 있으면 생략하지 않습니다. 리눅스 명령 출력에서 ​​첫 번째 줄을 생략하는 방법을 알려주십시오

답변:



261

tail프로그램은이 작업을 수행 할 수 있습니다

ls -lart | tail -n +2

-n +2수단 "출력 두번째 라인에 통과 시작".


1
tail-ntail -n +2
Mat

을 사용할 수도 find . -name . -o -ls -prune있지만 다소 다른 출력을 생성합니다.
Donal Fellows

@ Mat : 그래서 (OSX에서) 시도하지 않았지만 작동하지 않는 것 같습니다.
Donal Fellows

coreutils꼬리 를 다루는 데 사용 되었지만 더 이상 사용되지 않으며 제거되었습니다. 이제 tail: cannot open '+2' for reading: No such file or directory(utilutils 8.7)을 얻습니다 . 안타깝게도 다른 구현은 받아들이지 않습니다 -n.
Mat

4
@ 매트 : 어떤 사람들은 그것을 필요로하고 다른 사람들은 그것을 받아들이지 않습니까? 어! 어 우 어 우 우 그것 참 역겹다.
Donal Fellows


20

이것은 빠른 해키 방법 ls -lart | grep -v ^total입니다.

기본적으로 "total"로 시작하는 행은 ls출력에서 첫 번째 행이어야합니다.

더 일반적인 방법 (무엇이든) :

ls -lart | sed "1 d"

sed "1 d" 첫 줄만 제외한 모든 것을 인쇄한다는 의미입니다.


3
grep이 작업을 필터링하기 위해 사용 하는 것은 일반적으로 위험합니다. 예기치 않게 일치 할 수 있습니다.
Donal Fellows

때로는 예, 최선의 해결책은 아니라고 생각하지만 ls 명령은 항상 디렉토리 권한이있는 항목을 가져옵니다. grep이 각 줄을 계속 확인하기 때문에 이상적이지 않으며 ls는 다른 플래그와 다르게 작동합니다.
Jeff Ferland

1
이것은 의미론 일 뿐이지 만 기술적으로 스트림에서 첫 번째 줄을 삭제하는 것을 의미합니다.
John Morales

당신이 알고 싶은 총 이름을 가진 파일을 가지고 있지 않기를 바랍니다
Amias
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.