Unë kam një drejtori në të cilën ka disa skedarë me shtrirje të veçantë së bashku me skedarë të tjerë
.Më duhen pesë skedarët e fundit sipas datës së tyre të modifikuar të asaj zgjerimi të veçantë.
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ë?
list
për hir të shpejtësisë dhe korrektësisë. 09.03.2014glob
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