The UNIX and Linux Forums  


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
Sikker søgning Returnerer bedste resultater iBot Oracle Opdateringer (RSS) 0 04-06-2008 06:10 AM
behovet for at flytte Find resultater pimentelgg Shell Programmering og Scripting 9 12-20-2007 06:00 PM
Find resultater Carmen123 UNIX for dummyer Spørgsmål & svar 5 08-10-2005 11:27 AM
script returnerer prompten kburrows UNIX for dummyer Spørgsmål & svar 3 10-06-2003 11:12 AM
cant find kommandoen, der returnerer tomme linje jeffersno1 UNIX for dummyer Spørgsmål & svar 2 11-15-2001 04:14 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 04-25-2008
blt123 blt123 is offline
Registreret Bruger
  
 

Join Date: Feb 2002
Stillinger: 19
FIND returnerer forskellige resultater i script

Når jeg udfører denne linje ved kommandoprompten jeg får et andet svar end når jeg kører det i et script? Nogen idéer til, hvordan man kan løse? Jeg forsøger at finde alle filer / dir i en mappe, undtagen filer, der begynder med ordet fil.
Når jeg får denne kommando til at arbejde, vil jeg tilføje "delete" del til kommandolinjen. Bare at forsøge at sikre mig, at jeg har alle de rigtige filer anført først.

Kommandolinjeflag
svdw1234: find. -mtime -1! -name filen \ *
.
. / test_purge
svdw1234:


SCRIPT

+ Finde. -mtime -1! -name filen \ *
.
. / test_purge
. / test_purge / file_test_purge_subdir.txt
. / file_sqr_test.txt
. / file.txt
+ Return_code \u003d 0

Tak,
Barbara
  #2 (permalink)  
Old 04-25-2008
epoke era is offline Forum Advisor  
Herder af Useless Cats (On Sabbatical)
  
 

Join Date: Mar 2008
Location: / der / er / kun / bin / sh
Stillinger: 3652
Syntaksen er slags særling, og chancerne er din interaktive script er udført af noget lignende ksh eller bash, mens dit script er formentlig henrettet af / bin / sh.

Især vil jeg forestille unoterede udråbstegn kunne have nogle usete bivirkninger.

Prøv at reparere finde kommando til at overholde spec:


Code:
find . -mtime -1 -a \! -name file\*

Også undersøge, hvorvidt PATH en eller anden måde er anderledes inde i scriptet, og / eller du har funktioner eller aliaser som blande sig i det interaktive skallen.
  #3 (permalink)  
Old 04-25-2008
Franklin52 Franklin52 is online now Forum Staff  
Moderator
  
 

Join Date: Feb 2007
Indlæg: 4.333
Dette bør arbejde for:


Code:
find . -mtime -1 ! -name "*file*"

Hilsen
  #4 (permalink)  
Old 04-25-2008
Shamrock shamrock is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: oktober 2007
Beliggenhed: USA
Posts: 753
login shell vs molevitten linje

Er din molevitten linje forskellig fra din login-shell. Måske er det! har uønskede bivirkninger, og da din kun er interesseret i filer tilføje-type skifte også.


Code:
find . -mtime -1 -type f ! -name "file*"

  #5 (permalink)  
Old 04-25-2008
blt123 blt123 is offline
Registreret Bruger
  
 

Join Date: Feb 2002
Stillinger: 19
Jeg har ændret sig til tanken, så de passer til script og stadig ikke gode resultater?

svdw0088: ksh
$ Finde. ! -name "-filen * '-mtime -1
.
. / test_purge
$

SCRIPT første linje:

#! / bin / ksh

SCRIPT output:

+ Finde. ! -name "-filen * '-mtime -1
.
. / test_purge
. / test_purge / file_test_purge_subdir.txt
. / file_sqr_test.txt
. / file.txt
+ Return_code \u003d 0

Det stadig viser de filer, der begynder med ordet fil. Jeg ønsker at udelukke directory strukturer også.
Tak,
Barbara

Sidst redigeret af blt123; 04-25-2008 på 04:23 PM..
  #6 (permalink)  
Old 04-25-2008
Franklin52 Franklin52 is online now Forum Staff  
Moderator
  
 

Join Date: Feb 2007
Indlæg: 4.333
Brug dobbelte anførselstegn:


Code:
find . -mtime -1 ! -name "*file*"

Hilsen
  #7 (permalink)  
Old 04-26-2008
epoke era is offline Forum Advisor  
Herder af Useless Cats (On Sabbatical)
  
 

Join Date: Mar 2008
Location: / der / er / kun / bin / sh
Stillinger: 3652
Franklin52: Det er ikke det, enkelt anførselstegn er stærkere end det dobbelte, så resultatet skulle være de samme (du vil forhindre stjerne fra at blive udvidet med tanken).

blt123: Kan du kører interaktivt skallen med -x Også?


Code:
prompt$ ksh -x
$ find . ! -name 'file*' -mtime -1
+ find . ! -name file* -mtime -1
.
./test_purge
./test_purge/file_test_purge_subdir.txt
./file_sqr_test.txt
./file.txt
$ exit
+ exit

Se + linjer der? Du kan få dem fra en interaktiv session ligesom fra et script. (Man behøver ikke at starte en subshell enten, kan du bare sige set-x at sætte dem i stand; sæt + x for at slå dem tilbage off.)

Det afgørende spørgsmål er, om de finde kommando bliver udvidet til at noget uventet.

Også, kan du forsøge med et hårdt kodet stien til din finde binær (/ usr / bin / find Jeg vil gætte)?
Closed Thread

Bogmærker

Tags
mtime

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 08:53 AM.


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