我有一個關於linux bash腳本循環的小問題。循環的linux腳本
我有一個包含10000個文件的文件夾。我從10000
For a in ~/Desktop/folder/*.txt
Do
Echo $a
Done
寫了for循環列表100頁的文件不過,我需要列出文件夾中的最大的100個文件,而不是最初的100個文件依賴於字母。
我有一個關於linux bash腳本循環的小問題。循環的linux腳本
我有一個包含10000個文件的文件夾。我從10000
For a in ~/Desktop/folder/*.txt
Do
Echo $a
Done
寫了for循環列表100頁的文件不過,我需要列出文件夾中的最大的100個文件,而不是最初的100個文件依賴於字母。
如果您只是爲了獲取文件而執行循環,請注意有一個工具可用於此:ls
。 man ls
要回答你的問題:
您可以使用ls -S
的輸出,這在按大小排序文件循環:
爲符合你的問題的命令見LS的手冊頁
ls -S *.txt | while read file; do
echo $file
done
要限制文件數量,可以使用head
。以下示例將輸出ls
輸出中的前100行。
ls *.txt | head -n 100
爲什麼使用for循環?如果你只是想看到的100頁最大的文件,這樣做:
ls -S | head -n 100
只是作爲一個插件 - 如果你想的filesizes以及你可以做 LS -Ss |頭-n 100 –