Programim dhe zhvillim, javascript, python, php, html

gjetja e një skedari të veçantë shtesë nga një direktori dhe printimi i 5 të fundit sipas datës së modifikuar në TCL

  1. Unë kam një drejtori në të cilën ka disa skedarë me shtrirje të veçantë së bashku me skedarë të tjerë
    .

  2. Më duhen pesë skedarët e fundit sipas datës së tyre të modifikuar të asaj zgjerimi të veçantë.

  3. Nëse ka më shumë se 5 të këtij lloji, atëherë printoni vetëm pesë të fundit dhe nëse më pak se 5 të këtij lloji, printoni të gjitha.

A mund të më ndihmoni të shkruaj këtë kod tcl?

Shembulli 1:

Meqenëse ka më pak se 5 skedarë .abc në këtë shembull, ne duhet t'i mbledhim të gjithë në rend të kundërt si data e modifikimit të fundit:

drejtoria: TESTCASE

Skedarët:

- apple_12.abc_no
- banana.abc
- dog.xyz
- place.txt
- sofa_1_2_12.abc
- hello.org

Prodhimi:

- sofa_1_2_12.abc
- banana.abc
- apple_12.abc_no

Shembulli 2:

Meqenëse ka më shumë se 5 skedarë .abc në këtë shembull, ne duhet të zgjasim pesë në rend të kundërt si data e fundit e modifikuar së pari:

Skedarët:

- apple_12.abc_no
- banana.abc
- dog.xyz
- place.txt
- sofa_1_2_12.abc
- hello.org
- world.abc
- stack_133_gre.abc
- potato.txt
- onsite_all.abc
- list.abc

Prodhimi:

- list.abc
- onsite_all.abc
- stack_133_gre.abc
- world.abc
- sofa_1_2_12.abc

Provova të gjeja skedarët .abc nga drejtoria TESTCASE me komandën glob:

set PWD $pwd
set files [glob -tails -directories $PWD/$TESTCASE/*.abc*]
puts $files

por si të zgjasë bishti pesë ose më pak, është ajo ku kam ngecur. Ne provojmë tail -f filename në unix. a ka ndonjë mënyrë në tcl për ta bërë këtë?

tcl
09.03.2014

  • Kur do të thotë e përdorur për herë të fundit, do të thotë me datën e fundit të modifikuar? 09.03.2014
  • po jerry, kuptimi i fundit i përdorur i modifikuar së fundi 09.03.2014
  • Përshëndetje jerry, ju lutem ndihmoni 09.03.2014
  • E provove skenarin? 09.03.2014
  • Skenari po funksionon. Faleminderit shumë Jerry :) 09.03.2014
  • Nëse mendoni se përgjigja ime ju ndihmoi, mund të Pranoni përgjigjen time :) 09.03.2014

Përgjigjet:


1

Ka disa probleme me kodin tuaj aktual. Provoni këtë:

# Proc to get latest 5 modified files
proc get_latest {pwd files} {

    # Container for these files
    set newList [list]

    # Loop through each files and get the modified date
    foreach f $files {
        lappend newList [list $f [file mtime $pwd/TESTCASE/$f]]
    }

    # Sort the list on date, putting latest first
    set newList [lsort -decreasing -index 1 $newList]

    # Return top 5
    return [lrange $newList 0 5]
}

# Get path of script
set PWD [pwd]

# Get files with extension
set files_with_ext [glob -tails -directory $PWD/TESTCASE *.abc*]

# Get top 5 files
set top_five [get_latest $PWD $files_with_ext]

# Finally print the file names, removing the introduced timestamps.
foreach f $top_five {
    puts [lindex $f 0]
}
09.03.2014
  • E ndryshova kodin tuaj për të përdorur list për hir të shpejtësisë dhe korrektësisë. 09.03.2014
  • Gjëja kryesore për t'u theksuar është se glob nuk e rendit listën e hyrjeve të drejtorisë që prodhon; ata kthehen në çfarëdo radhe që API-ja e listimit të skedarëve bazë të OS mendon se është më e mira. (Ky është ndoshta rendi në disk. Ashtu si çdokujt i intereson kjo.) 09.03.2014
  • Materiale të reja

    Masterclass Coroutines: Kapitulli-3: Anulimi i korutinave dhe trajtimi i përjashtimeve.
    Mirë se vini në udhëzuesin gjithëpërfshirës mbi Kotlin Coroutines! Në këtë seri artikujsh, unë do t'ju çoj në një udhëtim magjepsës, duke filluar nga bazat dhe gradualisht duke u thelluar në..

    Faketojeni derisa ta arrini me të dhënat false
    A e gjeni ndonjëherë veten duke ndërtuar një aplikacion të ri dhe keni nevojë për të dhëna testimi që duken dhe duken më realiste ose një grup i madh të dhënash për performancën e ngarkesës...

    Si të përdorni kërkesën API në Python
    Kërkesë API në GitHub për të marrë depot e përdoruesve duke përdorur Python. Në këtë artikull, unë shpjegoj procesin hap pas hapi për të trajtuar një kërkesë API për të marrë të dhëna nga..

    Një udhëzues hap pas hapi për të zotëruar React
    Në këtë artikull, do të mësoni se si të krijoni aplikacionin React, do të mësoni se si funksionon React dhe konceptet thelbësore që duhet të dini për të ndërtuar aplikacione React. Learning..

    AI dhe Psikologjia — Pjesa 2
    Në pjesën 2 të serisë sonë të AI dhe Psikologji ne diskutojmë se si makineritë mbledhin dhe përpunojnë të dhëna për të mësuar emocione dhe ndjenja të ndryshme në mendjen e njeriut, duke ndihmuar..

    Esencialet e punës ditore të kodit tim VS
    Shtesat e mia të preferuara - Git Graph 💹 Kjo shtesë është vërtet e mahnitshme, e përdor përpara se të filloj të punoj për të kontrolluar dy herë ndryshimet dhe degët më të fundit, mund të..

    Pse Python? Zbulimi i fuqisë së gjithanshme të një gjiganti programues
    Në peizazhin gjithnjë në zhvillim të gjuhëve të programimit, Python është shfaqur si një forcë dominuese. Rritja e tij meteorike nuk është rastësi. Joshja e Python qëndron në thjeshtësinë,..