The UNIX and Linux Forums  
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.

Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
Probleem in de lus The Observer Programmeren en Shell Scripting 2 05-28-2008 03:43
lus probleem maskot Programmeren en Shell Scripting 1 05-25-2007 05:10
Probleem met lus / sed? chiru_h Programmeren en Shell Scripting 2 08-27-2006 12:55
lus Probleem dhananjaysk Programmeren en Shell Scripting 3 03-31-2006 02:05 PM
probleem met de while lus mridula Hoog Niveau Programmering 1 12-11-2005 11:44

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 01-25-2008
namishtiwari namishtiwari is offline Forum Advisor  
Geregistreerde gebruiker
  
 

Join Date: Aug 2007
Locatie: Bangalore
Posts: 377
lus probleem

Hoi,
Ik heb een map genaamd logt in waarvan ik de logbestanden.

Ik heb aan te raken voordat het bestand te verwijderen.

Ik doe dit soort
filestodelete \u003d "*. log * * log *"

voor bestanden in $ filestodelete
doen
touch $ $ bestanden bestanden. $ (date +% a)
rm-f $ filestodelete
gedaan

touch werkt niet hier, is het niet aan te raken voordat het bestand te verwijderen.
vriendelijk mij helpen in deze.

Laatst gewijzigd door namishtiwari; op 01.25.2008 09:32..
  #2 (permalink)  
Old 01-25-2008
V3l0 V3l0 is offline
Geregistreerde gebruiker
  
 

Join Date: november 2007
Locatie: België & Frankrijk
Posts: 70
Hallo,

Ten eerste, wanneer u "* log *", u niet over , selecteer "*. log *" beacause ze reeds in de eerste selectie!

Ten tweede, waarom "tippen" voordat het bestand te verwijderen?

Ten derde, je script wordt runnig met "niet te verwijderen bestand xxx" beacause van het commando "rm-f $ filestodelete" dat u alle bestanden geselecteerd door "voor de bestanden in (* log * | *. log *)"

Dus stel ik voor dat u het script:
Code:
list=$(ls *log*)

for file in $list
do
    cp $file $file.$(date +%a)
    rm -f $file
done
  #3 (permalink)  
Old 01-25-2008
namishtiwari namishtiwari is offline Forum Advisor  
Geregistreerde gebruiker
  
 

Join Date: Aug 2007
Locatie: Bangalore
Posts: 377
Citaat:
Oorspronkelijk geplaatst door V3l0 View Post
Hallo,

Ten eerste, wanneer u "* log *", u niet over , selecteer "*. log *" beacause ze reeds in de eerste selectie!

Ten tweede, waarom "tippen" voordat het bestand te verwijderen?

Ten derde, je script wordt runnig met "niet te verwijderen bestand xxx" beacause van het commando "rm-f $ filestodelete" dat u alle bestanden geselecteerd door "voor de bestanden in (* log * | *. log *)"

Dus stel ik voor dat u het script:
Code:
list=$(ls *log*)

for file in $list
do
    cp $file $file.$(date +%a)
    rm -f $file
done
U gaf me goede suggestions.Thanks ..

Ik heb het bestand aan te raken, want we hebben een aantal processen die moeten kiezen dat lege bestand anders moeten we opnieuw de aaplication weer als ik het bestand geschrapt zonder te raken it.cp zal onnodig de grootte.
  #4 (permalink)  
Old 01-25-2008
danmero danmero is offline Forum Advisor  
  
 

Join Date: november 2007
Locatie: 45.48-73.63
Berichten: 1.431
Citaat:
Oorspronkelijk geplaatst door namishtiwari View Post
Code:
list=$(ls *log*)

for file in $list
do
    cp $file $file.$(date +%a)
    rm -f $file
done
Ik heb het bestand aan te raken, want we hebben een aantal processen die moeten kiezen dat lege bestand anders moeten we opnieuw de aaplication weer als ik het bestand geschrapt zonder te raken it.cp zal onnodig de grootte.
Hoe zit het verplaatsen van het bestand en het aanraken van een nieuwe:
Code:
for file in `ls *log*`
do
    mv $file $file.`date +%a` && touch $file || echo "Can not backup $file";
done
  #5 (permalink)  
Old 01-25-2008
namishtiwari namishtiwari is offline Forum Advisor  
Geregistreerde gebruiker
  
 

Join Date: Aug 2007
Locatie: Bangalore
Posts: 377
Bedankt voor al je antwoorden.

Maar ik heb hier een probleem - mijn script is als dit --

Code:
BackupLocation="$OPTARG"
                if [[ $BackupLocation != *backup ]]; then
                        echo "Appending backup subdirectories"
                        BackupLocation=$BackupLocation/backup
                        mkdir -p $BackupLocation >/dev/null 2>&1
                        if [[ $? != 0 ]];then
                        echo "First Create The Directory And Then Take backup"
                        fi
                        cd $FileLocation
                        pwd
                        cp -R $FilesToDelete $BackupLocation
                       list=$(ls *log*)
                        for files in $list
                        do
                             rm -f $files
                          touch $files.$(date +%a)
                                                 done
                else
                        mkdir -p $BackupLocation >/dev/null 2>&1
                        cp -R $FilesToDelete $BackupLocation
                        for files in $list
                        do
                          rm -f $files
                          touch $files.$(date +%a)
                          
                        done
                if [[ ! -d $BackupLocation ]]; then
                echo "Unable to make backup directory: $BackupLocation"
                        if [[ $IsCronJob -eq 1 ]]; then
                          SendMiddleTierCleanMail "Middletierclean error message" $mt_clean_errfile
                        fi
hier is het aanraken van het bestand opnieuw en opnieuw en voeg de dag na de naam van het bestand opnieuw als->
ansrpt26529.log.Fri.Fri.Fri.Fri
maar ik wil het niet zo.
Ik heb om back-up van de file.then aanraken en verwijder het bestand.
de patronen voor de bestanden te verwijderen is
lijst \u003d $ (ls * log *)
is het selecteren van alle bestanden ansrpt26529.log.Fri.Fri.Fri.Fri als deze, maar ik wil het niet als dit zou kunnen worden alleen ansrpt26529.log.Fri.
patroonherkenning kan verschillen hier dus geef me een aantal suggesties voor het oplossen van dit probleem.

Laatst gewijzigd door namishtiwari; op 01.25.2008 12:41..
  #6 (permalink)  
Old 01-25-2008
danmero danmero is offline Forum Advisor  
  
 

Join Date: november 2007
Locatie: 45.48-73.63
Berichten: 1.431
Hoe zit het
Code:
                       
list=$(ls *log.???)
for files in $list
do
    rm -f $files
    touch `echo $files | sed 's [^.]*$  '``date +%a`
done

Laatst gewijzigd door danmero; op 01.25.2008 01:05 PM..
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 02:20.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0