The UNIX and Linux Forums  


Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Mönstermatchning Räkna Brådskande krabu Shell-programmering och Skript 6 07-31-2008 07:23
Awk räkna matchande IP-adress new_buddy Shell-programmering och Skript 3 05-28-2008 06:24
undanröja en förlängning från alla filnamn i en mapp johnmcclintock UNIX for Dummies Frågor & Svar 5 05-21-2008 09:23
kommando för att få räkna i uppackade mappen arunkumar_mca UNIX for Dummies Frågor & Svar 4 10-17-2007 03:19
hitta duplicerade filer med storlek och hitta mönstermatchning och räkna Jerome Sukumar Shell-programmering och Skript 2 12-01-2006 04:20

Reply
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 07-02-2009
tententen tententen is offline
Registered User
  
 

Join Date: Dec 2008
Inlägg: 17
Räkna matchande filnamn i en mapp

Hej alla,

Jag har 4 filer t.ex. namnet

abc01012009.txt
abc02012009.txt
abc03012009.txt
abc04012009.txt

i en mapp. Jag vill först säkerhetskopiera den senaste filen finns tillgänglig, i detta fall, den sista dagen tillgängliga abc04012009.txt till dess undermapp som heter backup och byt namn på filen till abc.txt, så som lämnar mig med

abc01012009.txt
abc02012009.txt
abc03012009.txt
abc.txt

Därefter kommer den att köra kommandon jag kommer och när kommandona är färdig, men den går igenom listan över filer igen och slinga mitt kommandon tills inga fler filer som heter abcDDMMYYYY.txt är available.Can någon vänligen hjälp, tack så mycket!.

Rgds
  #2 (permalänk)  
Old 07-02-2009
vidyadhar85's Avatar
vidyadhar85 vidyadhar85 is offline Forum Staff  
Moderator (The Tutor)
  
 

Join Date: juni 2008
Ort: INDIEN
Inlägg: 1,400
du menar detta?

Kod:
while : ; do
ls -1rt abc[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].txt > /dev/null
if [ $? -eq 0 ] ;then
lastfile=`ls -1rt abc[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].txt|tail -1`
cp $lastfile backup/
mv $lastfile abc.txt
run your set of commands here
else
exit
fi
done

  #3 (permalänk)  
Old 07-02-2009
tententen tententen is offline
Registered User
  
 

Join Date: Dec 2008
Inlägg: 17
ja tack det fungerade!.

utom när det inte finns fler filer som är kvar som matchar mönstret, får jag detta fel: P

abc [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]. txt: Ingen sådan fil eller katalog

.

snälla råd
  #4 (permalänk)  
Old 07-02-2009
scottn scottn is online now Forum Advisor  
VIP Medlem
  
 

Join Date: juni 2009
Plats: Zürich, CH
Inlägg: 1.096
Den första "ls" används för att testa om alla filer som matchar dessa kriterier har hittats. Produktionen av ls är "kastas bort" (till / dev / null) - den punkt att veta om det finns sådana filer, för att inte räkna upp dem. Om filer hittas, "om [$?-Eq 0]" kommer att vara sant (LS returnerar 0 mening framgång - filer hittades). Men LS kommer att skriva till standardfel om inga filer hittas. Du kan bli av med felet genom att standardfelet till / dev / null också. Det enklaste sättet är att direkt standardfelet normal produktion (som du slängde till / dev / null), så ...

Förändring:


Kod:
ls -1rt abc[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].txt > /dev/null

Till:


Kod:
ls -1rt abc[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].txt > /dev/null 2>&1

Jag hoppas att detta var förklarande och inte alls tråkigt att läsa!

Senast redigerad av scottn; 07-02-2009 vid 08:10..
  #5 (permalänk)  
Old 07-03-2009
tententen tententen is offline
Registered User
  
 

Join Date: Dec 2008
Inlägg: 17
Tack så mycket!. Verkligen uppskatta det!
Reply

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 05:43.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0