|
|
|
|
Google Site
|
|||||||
| Forums | Registrer | Blogg | Man Pages | Forum Rules | Lenker | Album | FAQ | Brukere | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her. |
![]() |
|
|
Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|||
|
Hei Alle,
Jeg har en fil som inneholder oversikt over en annen katalog: > cat list.dat -rwxr-XR-x 1 test staff 10240 okt 02 06:53 test.txtdd -rwxrwxrwx 1 test staff 0 okt 04 07:22 test.txx -rwxrwxrwx 1 test staff 132 Sep 16 2007 test_tt.sh -rwxrwxrwx 1 test staff 193 Aug19 2007 test_ttt.sh -rwxrwxrwx 1 test staff 45 nov 21 2007 testfile.sh -RW-r - r - 1 test ansatte 10.240 april 18 06:49 testtrar.tar > Jeg må trekke navnene på filene som er opprettet i de siste 7 dagene. Så utdataene for skriptet skal lilke nedenfor fra ovenfor fil: -rwxr-XR-x 1 test staff 10240 okt 02 06:53 test.txtdd -rwxrwxrwx 1 test staff 0 okt 04 07:22 test.txx Finnes det noen måte å få til dette? Takk, D |
| Sponsede lenker |
|
|
|
||||
|
Jeg gjorde dette nylig i perl denne måten. Code:
$days = 7;
$dir = "/opt/application";
opendir(BIN, $dir) or die "Can't open $dir: $!";
while(defined($file = readdir BIN) ){
next if $file =~ /^\.\.?$/; #skip . and ..
if(int(-M $file) < $days){
# do something
}
}Det eneste forskjellen er at du ville lese fra fil. |
|
|||
|
takk for det.
I cant bruke finne kommando som jeg dont ha tilgang til katalogen. Katalogen er åpnet av ftp. Jeg ftp til ekstern maskin og får liste fra katalogen til denne filen. Og fra denne filen, jeg trenger å filtrere ut filer eldre enn 7 dager. Så jeg tror eneste måten er å bruke filen. I så fall tidsstempelet metoden kan være veien til venstre jeg gjette ... Hi foton - Jeg har liten kunnskap om perl så jeg skrånende forstå hva scriptet gjør. Jeg tror det åpne katalog og tar hver fil og sjekke forholdene. Men kan det gjøres med innholdet i en fil? Takk for hjelpen D |
|
||||
|
Det kan være andre wazs, men her er hva jeg vil gjøre. Installer "logwatch". La oss si at det installeres i / usr / share / logwatch. Deretter foreta en liten perl-skript: Code:
#!/usr/bin/perl
use lib "/usr/share/logwatch/lib";
use Logwatch ':dates';
$ENV{"LOGWATCH_DATE_RANGE"}="since -7 days";
my $SearchDate = TimeFilter('%b %d %H:%M');
while (<>) {
print if m/\b$SearchDate\b/o;
}Deretter må du gjøre perl <scriptname> <filnavn> Du skal ha det du leter etter. |
| Sponsede lenker |
|
|
![]() |
| Hugseliste |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|
Mer UNIX og Linux Forum Emner Du kan finne nyttig
|
||||
| Tråd | Tråd startet | Forum | Svar | Siste innlegg |
| Hvordan finne en dato som er 7 dager tidligere da gitt dato | ladtony | Shell programmering og Skripting | 17 | 04-09-2009 05:06 |
| Finn filer eldre enn x dager og lage en konsolidert enkelt tar filen. | Dawn Bosch | Solaris | 3 | 09-09-2008 06:45 |
| opprette en CSV-fil for siste 7 dager | dr46014 | UNIX for Dummies Spørsmål og svar | 12 | 08-26-2008 05:44 |
| Finn filer eldre enn 20 dager og ikke bruke finne | halo98 | Shell programmering og Skripting | 2 | 05-18-2006 03:19 |
| Finn filer eldre enn 5 dager og fjerne TEM etter liste | ypatel6871 | UNIX for Dummies Spørsmål og svar | 1 | 09-05-2005 12:00 |