2013-11-20 60 views
0

我需要獲取具有修改主文件夾的每個文件夾的子文件夾的最新日期的前3個文件。獲取bash shell中每個文件夾的子文件夾的最新修改日期

腳本應該經過指定主文件夾的每個子文件夾,並列出主文件夾中每個子文件夾的最新日期的文件。

這個腳本獲取考慮到所有的子文件夾

find /path/ -exec stat \{} --printf="%n %y\n" \; | sort -n -r | head -3 

文件夾的最新修改日期,但我需要主文件夾的子文件夾迭代通過獲取文件夾列表,並具有修改每個文件夾的最早日期的文件名。

for folder in MAINFOLDER 
do 
find ***folder*** exec stat \{} --printf="%n %y\n" \; | sort -n -r | head -1 
loop 

回答

0

是這樣的嗎?

#!/bin/bash 
for folder in MAINFOLDER/* 
do 
    find "$folder" -exec stat \{} --printf="%n %y\n" \; | sort -n -r | head -3 
done 
+0

這正是我想要的!腳本中的一個小錯誤,應該是: _find「$ folder」-exec stat \ {} --printf =「%n%y \ n」\; | sort -n -r |頭-3_ – magnum

+0

@magnum啊!在'exec'中缺少'-'。實際上僅從您的問題複製!看來你是新來的。如果有任何答案適合您,請考慮通過點擊除了答案之外的空心綠色勾號來接受它。 – jkshah

相關問題