The UNIX and Linux Forums  
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Hvordan finder man en streng inde filer yoavbe Shell Programmering og Scripting 12 05-05-2008 02:19 PM
Sådan slettes Directory og inde filer via Find kommando bmkreddy Sun Solaris 3 07-10-2007 03:35 PM
hvordan man finder en errored disk raj.soladm Sun Solaris 2 08-28-2006 02:31 PM
hvordan man finder Script filplaceringen inde script asami Shell Programmering og Scripting 10 03-15-2006 12:57 AM
Find filer i mapper Steiner Shell Programmering og Scripting 4 04-02-2005 01:01 PM

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 Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 09-22-2008
osramos osramos is offline
Registreret Bruger
  
 

Join Date: oktober 2007
Stillinger: 21
Behov script til at finde errored filer inde i mapper

Hej folk.

Jeg arbejder på et script til at søge efter filer, som det er meningen ikke at være på biblioteket. Jeg mener, indersiden af hver mappe det skal have nogle filer, men nogle kan være forkert, og jeg ønsker at flytte de filer, der er forkert.

Ex:
CSPOTGET edpst / CargadoresSPOT Historicos_Spot_MDI.zip
COBGET edpst / CargadorOmelBroker ??????. xls
CORGET edpst / CargadorOmelReuters CarOmlReuts.xls

På mappen "edpst / CargadoresSPOT" skal kun have "Historicos_Spot_MDI.zip"

På mappen "edpst / CargadorOmelBroker" skal kun have filer med "yymmdd.xls", og ingen andre.

Jeg forestiller mig denne "konfiguration" fil, hvor 1. kolonne er en variabel, den anden er den mappe, og 3. kolonne er den fil (er) i hver mappe.

Har du forstår, hvad jeg skrev?

osramos
  #2 (permalink)  
Old 09-22-2008
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Beliggenhed: NM
Indlæg: 5.764
Du ønsker at finde filer, der ikke passer i mønstret, korrekt?
ksh giver dig mulighed for at gøre det:
Code:
#!/bin/ksh
# files that are not named Historicos_Spot_MDI.zip
ls edpst/CargadoresSPOT/!(Historicos_Spot_MDI.zip)
# 
ls edpst/CargadorOmelBroker/!(??????.xls)
#
ls edpst/CargadorOmelReuters/!(CarOmlReuts.xls)
  #3 (permalink)  
Old 09-22-2008
osramos osramos is offline
Registreret Bruger
  
 

Join Date: oktober 2007
Stillinger: 21
Ok, det virker.

Men der er næsten 50 biblioteker, og nogle af dem med 4 eller 5 filer for at udelukke (ikke passer).

Kan gøre dette med en i cyklus eller noget lignende?

osramos

Citat:
Oprindeligt Indsendt af jim McNamara View Post
Du ønsker at finde filer, der ikke passer i mønstret, korrekt?
ksh giver dig mulighed for at gøre det:
Code:
#!/bin/ksh
# files that are not named Historicos_Spot_MDI.zip
ls edpst/CargadoresSPOT/!(Historicos_Spot_MDI.zip)
# 
ls edpst/CargadorOmelBroker/!(??????.xls)
#
ls edpst/CargadorOmelReuters/!(CarOmlReuts.xls)
  #4 (permalink)  
Old 09-22-2008
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Beliggenhed: NM
Indlæg: 5.764
Hvad du beder om, er at skabe et ResultSet at alle filer minus pattern1 minus pattern2

Det eneste problem er, at vi bliver nødt til at bruge grep-v. Filen matchende mønstre blive regulære udtryk
Code:
??????.xls
# becomes regex:
[0-9]{6}\.xls
Dette vil ske for hver fil, du ønsker at udelukke. Ellers kan du ikke bare
Code:
ls !(pattern)
for fem forskellige filer, fordi hver forekomst af! (pattern2) vil vise andre mønstre som pattern2 pattern3 ... osv.
Code:
# generalized solution
ls directory | grep -v -e 'regex1' -e 'regex2' -e 'regex3'
Derfor er du nødt til at opføre 50 forskellige regexes (en for hver fil, du er nødt til at specificere) og anvende nogle af dem til den rigtige mappe output fra LS. Jeg kan ikke gøre det for dig.
  #5 (permalink)  
Old 09-24-2008
osramos osramos is offline
Registreret Bruger
  
 

Join Date: oktober 2007
Stillinger: 21
Åh, jeg ser.

Et andet problem jeg har, under forudsætning jeg bruger "ls! (Mønster)", er tanken jeg bruger.

Serveren er en Windows Server, men har installeret CYGWIN og Bash genkender ikke "!".

Er der andre løsninger?

Hilsen,

osramos

Citat:
Oprindeligt Indsendt af jim McNamara View Post
Hvad du beder om, er at skabe et ResultSet at alle filer minus pattern1 minus pattern2

Det eneste problem er, at vi bliver nødt til at bruge grep-v. Filen matchende mønstre blive regulære udtryk
Code:
??????.xls
# becomes regex:
[0-9]{6}\.xls
Dette vil ske for hver fil, du ønsker at udelukke. Ellers kan du ikke bare
Code:
ls !(pattern)
for fem forskellige filer, fordi hver forekomst af! (pattern2) vil vise andre mønstre som pattern2 pattern3 ... osv.
Code:
# generalized solution
ls directory | grep -v -e 'regex1' -e 'regex2' -e 'regex3'
Derfor er du nødt til at opføre 50 forskellige regexes (en for hver fil, du er nødt til at specificere) og anvende nogle af dem til den rigtige mappe output fra LS. Jeg kan ikke gøre det for dig.
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 02:50 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0