it-swarm-ko.tech

ls로 인쇄되는 파일 수를 어떻게 제한합니까?

ls 명령에서 나열된 파일의 수량을 제한하는 방법이 있습니까?

나는 본 적이:

ls | head -4

그러나 head 또는 tail을 (를) 실행하려면 ls이 (를) 실행을 완료하고 상당한 시간이 걸리는 파일이 많은 디렉토리가있을 때까지 기다려야합니다.

해당 ls 명령을 사용하지 않고 제한하는 head 명령을 실행하고 싶습니다.

104
AndreDurao

당신이 시도 했습니까

ls -U | head -4

정렬을 건너 뛰어야하므로 아마도 ls이 (가) 너무 오래 걸립니다.

https://stackoverflow.com/questions/40193/quick-ls-command

125
niko

ls 버전에 파일을 정렬하지 않는 방법이 있다면 -U GNU ls 에 사용하십시오. 옵션이 없으면 ls는 먼저 모든 파일을 읽은 다음 이름을 정렬 한 다음 인쇄를 시작합니다.

또 다른 가능성은 find를 실행하여 이름을 찾은대로 인쇄하는 것입니다.

find . -name . -o -Prune | head

head lines 에서 작업하므로 파일 이름에 줄 바꿈 문자가 포함되지 않는다고 가정합니다.

ls 이외의 도구가 필요하십니까?

예를 들어, Randal Schwartz에는 대규모 디렉토리에서 Perl 사용 에 대한 블로그 항목이 있습니다. 여기에는 필요에 맞는 것을 만드는 데 도움이되는 힌트가 포함되어 있습니다.

블로그 게시에서 Randal은 lsfind가 모두 인쇄하기 전에 모든 디렉토리 항목을 읽으려고 시도하지만 그가 제안한 Perl 솔루션은 그렇지 않다고 설명합니다.

4
AFresh1

성능이 문제가되지 않는 경우 (이 파일의 복제본으로 닫힌 질문에서와 같이) 첫 n 개 파일을 나열하려고합니다 (ls 출력의 첫 n 개 행과 반대) 숨겨진 파일이 아닌 파일 목록에서 파일 이름별로 zsh를 사용하여 다음을 사용할 수 있습니다.

ls -ld -- *([1,4])

처음 4 개의 파일을 나열합니다. zsh*(oN[1,4])로 정렬하지 않더라도 디렉토리의 전체 내용을 읽습니다 (lsalso 해당 목록을 정렬합니다).

3
Stéphane Chazelas
$ cut -f 1,n filename

n 파일을 가져 오는 작업을 수행합니다. n는 추출하려는 파일의 수입니다. 완전한 코드는 다음과 같습니다.

$ ls|cut -f 1,n file
0
Ramandeep Singh

아마도 less가 당신의 필요에 더 적합합니까?

 ls /usr/bin | less

저에게는 클래식 HDD가 장착 된 5 년 된 랩톱에서 즉시 작동하지만 헤드 속도도 동일합니다.

less을 (를) 조기 종료 할 수 있습니다 q.

1s 지연의 원인에 대한 귀하의 가정이 잘못되었지만 아마도 유닉스 풍미 또는 쉘, 덜 또는 헤드 명령에 달려 있다고 생각합니다.

Linux에서 GNU-ls를 사용하면

 ls -R /usr | less 

전체 출력이 실행 중이고 실행 중일 때 즉시 출력을 시작합니다. 따라서 적은 수의 시작 전에 확실히 완료되지 않습니다. 출력에 따라 1 초 이상의 일정한 지연이 있는지 여부를 확인할 수 있습니다.

1 초 지연에 다른 이유가 있다고 생각합니다 .HDD가 잠 들어 깨어날 필요가 있습니까?

아주 적은 파일에 대해서도 지연이 있습니까?

0
user unknown
ls -lrth | tail

ls -lrth | tail -n 10

ls -lrth | grep *.gz | tail
0
Abhishek