2012-05-13 19 views
19

có gì tôi đã cố gắng cho đến nay ...Linux tìm lệnh, tìm 10 tác phẩm mới nhất một cách đệ quy không phân biệt khoảng thời gian

Command:

find . -type f -ctime -3 | tail -n 5 

Kết quả:

./Mobilni Telefoni/01. Box Update/05. DC Unlocker Client/dc-unlocker_client-1.00.0857.exe 
./Mobilni Telefoni/01. Box Update/39. Z3X Box/01. Update/01. Samsung Box/SamsungTool_12.4.exe 
./Mobilni Telefoni/10. Nokia/1. SRPSKI HRVATSKI JEZICI/BB5/3xx_Series/Asha 300/06.97/rm781_06.97_ppm_d.rar 
./GPS Navigacije/01. Garmin/03. Garmin Other/garmin_kgen_15.exe 
./GPS Navigacije/01. Garmin/03. Garmin Other/test.txt 

sản lượng này là OK, không hoạt động tốt nếu tôi đặt khoảng thời gian rộng hơn. (thông báo tôi sử dụng -ctime và không -mtime vì một số tệp đã tải lên được sửa đổi vài năm trước)

Vấn đề là tệp có thể được tải lên mỗi tháng một lần hoặc một lần trong năm và tôi vẫn cần nhận 10 tệp mới nhất , bất kể khoảng thời gian.

Nếu không thể thực hiện, chỉ tail chỉ giới hạn đầu ra, hoặc bằng cách nào đó chỉ tìm nạp số được chỉ định mà không ảnh hưởng lớn đến hiệu suất trên nhiều tệp.

Bằng cách sử dụng lệnh từ một câu trả lời trên SO, tôi đã có thể để có được các tập tin nhưng một số file bị mất tích ...

find . -type f -printf '%[email protected] %p\n' | sort -n | tail -10 | cut -f2- -d" " 

Kết quả:

./Mobilni Telefoni/11. Samsung/1. FLASH FILES/1. SRPSKI HRVATSKI JEZICI/E/E2330/E2330_OXFKE2.rar 
./Mobilni Telefoni/11. Samsung/1. FLASH FILES/1. SRPSKI HRVATSKI JEZICI/E/E2330/FlashTool_E2_R6.zip 
./Mobilni Telefoni/11. Samsung/1. FLASH FILES/1. SRPSKI HRVATSKI JEZICI/E/E210/E210_XFGH2.rar 
./Mobilni Telefoni/05. iPhone/07. iFaith/iFaith-v1.4.1_windows-final.zip 
./Mobilni Telefoni/05. iPhone/09. iPhone Browser/SetupiPhoneBrowser.1.93.exe 
./Mobilni Telefoni/05. iPhone/10. iPhone_PC_Suite/iPhone_PC_Suite_Eng_v0.2.1.rar 
./Mobilni Telefoni/05. iPhone/10. iPhone_PC_Suite/iPhone_PC_Suite_Ok.rar 
./test 
./Mobilni Telefoni/11. Samsung/1. FLASH FILES/1. SRPSKI HRVATSKI JEZICI/E/E2152/E2152_XXJH4_OXFJI2.zip.filepart 
./GPS Navigacije/01. Garmin/03. Garmin Other/test.txt 

file garmin_kgen_15.exe là mất tích vì nó được tạo vào năm 2008, nhưng nó đã được tải lên trong 24 giờ qua.

+0

Mà thời gian của tập tin nào bạn muốn sử dụng như là quan trọng trong việc loại? ctime/mtime/smth khác? Bạn có thể tham khảo trang 'man' của tìm để tìm chính xác'% XX' thay vì '% T @' – osgx

+0

@osgx ctime (?), Các tệp được tải lên qua FTP ... sẽ thực hiện. –

+2

Bạn đã thử với '% C @' chưa? - 'tìm. -type f -ctime -3 -printf "% C @% p \ n" | sắp xếp | tail -n 5 | sed 's/[^] * \ (. * \)/\ 1 /' ' – hakre

Trả lời

36

Tôi đã nói rằng đây là giải pháp:

find . -type f -printf "%[email protected] %p\n" | sort -rn | head -n 10 

Điểm mấu chốt là printf %[email protected] giữ chỗ, đó là -ctime một. Tôi tìm thấy nó bằng cách đọc man find.

Kết quả:

1336992789.0000000000 ./Mobilni Telefoni/05. iPhone/03. iPhone 4G Firmware/5.1.1/iPhone3,1_5.1.1_9B206_Restore.ipsw.filepart 
1336928538.0000000000 ./GPS Navigacije/01. Garmin/03. Garmin Other/test.txt 
1336922295.0000000000 ./GPS Navigacije/01. Garmin/03. Garmin Other/garmin_kgen_15.exe 
1336868365.0000000000 ./Mobilni Telefoni/11. Samsung/1. FLASH FILES/1. SRPSKI HRVATSKI JEZICI/E/E2152/E2152_XXJH4_OXFJI2.zip.filepart 
1336867426.0000000000 ./Mobilni Telefoni/11. Samsung/1. FLASH FILES/1. SRPSKI HRVATSKI JEZICI/E/E210/E210_XFGH2.rar 
1336866301.0000000000 ./Mobilni Telefoni/11. Samsung/1. FLASH FILES/1. SRPSKI HRVATSKI JEZICI/E/E2330/FlashTool_E2_R6.zip 
1336865921.0000000000 ./Mobilni Telefoni/11. Samsung/1. FLASH FILES/1. SRPSKI HRVATSKI JEZICI/E/E2330/E2330_OXFKE2.rar 
1336865409.0000000000 ./Mobilni Telefoni/11. Samsung/1. FLASH FILES/1. SRPSKI HRVATSKI JEZICI/E/E2230/E2230_XXKC1_CDS.zip 
1336865398.0000000000 ./Mobilni Telefoni/11. Samsung/1. FLASH FILES/1. SRPSKI HRVATSKI JEZICI/E/E2230/E2230_XXKC1_BIN.zip 
1336864949.0000000000 ./Mobilni Telefoni/11. Samsung/1. FLASH FILES/1. SRPSKI HRVATSKI JEZICI/E/E2230/E2230_OXFKC1_CSC.zip 
+0

Bạn đã quên không sắp xếp. Nó phải là: tìm. -loại f -printf "% C @% p \ n" | sắp xếp -rn | head -n 10 – qwertzguy

+0

Bạn có biết chế độ sắp xếp mặc định là gì để sắp xếp không? '-n' âm thanh tốt mặc dù – hakre

+0

Đó là chữ cái nhưng nó phụ thuộc vào ngôn ngữ: http://unix.stackexchange.com/questions/43465/whats-the-default-order-of-linux-sort – qwertzguy

-3

dễ dàng hơn:

filename=$(ls -t . | head -10) 
+1

đây không phải là giải pháp đệ quy; nó sẽ chỉ tìm thấy các tệp trong thư mục hiện tại, không tìm thấy bất kỳ thư mục con nào. –

Các vấn đề liên quan