簡體   English   中英

獲取前 n 個文件的名稱而不在 linux 中列出所有文件

[英]Getting the names of the first n files without listing all of them in linux

我知道只需鍵入以下內容就可以列出目錄中的前 n 個文件: ls | head -n ls | head -n其中 n 是要列出的文件數。 然而,問題是我試圖運行它的目錄充滿了數千個文件,導致此操作非常緩慢(需要幾分鍾),而我想要的只是第一個文件的名稱。

有沒有辦法實現所需的行為? 如何?

如果您不介意文件的順序..

您需要調用底層 libc opendir/readdir 函數,如此 perl 示例所示

#!/usr/bin/perl

opendir(my $dh, ".") || die "can't opendir . : $!";
for (1..10) {
    $filename=readdir($dh);
    print "$filename\n";
}

或作為單行程序,您可以從 shell 腳本調用

perl -le 'opendir($d, "."); print scalar readdir($d) for (1..10);'

ls -l |head按字母順序給出文件,但這不能做到。 必須讀取所有文件才能按字母順序排列

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM