2013-02-04 82 views
0

我有一個關於linux bash腳本循環的小問題。循環的linux腳本

我有一個包含10000個文件的文件夾。我從10000

For a in ~/Desktop/folder/*.txt 
Do 

    Echo $a 

Done 

寫了for循環列表100頁的文件不過,我需要列出文件夾中的最大的100個文件,而不是最初的100個文件依賴於字母。

回答

0

如果您只是爲了獲取文件而執行循環,請注意有一個工具可用於此:lsman ls

要回答你的問題:

您可以使用ls -S的輸出,這在按大小排序文件循環:

爲符合你的問題的命令見LS的手冊頁

ls -S *.txt | while read file; do 
    echo $file 
done 

要限制文件數量,可以使用head。以下示例將輸出ls輸出中的前100行。

ls *.txt | head -n 100 
2

爲什麼使用for循環?如果你只是想看到的100頁最大的文件,這樣做:

ls -S | head -n 100 
+0

只是作爲一個插件 - 如果你想的filesizes以及你可以做 LS -Ss |頭-n 100 –