The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



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.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
Hvordan kan jeg lese en ikke tekstfil i unix - ELF-64 kjørbar gjenstand arkiv - IA64 alexcol UNIX for Advanced & ekspertbrukere 8 11-07-2008 08:56
Les tekstfil fra en angitt streng til slutten bsrajirs UNIX for Advanced & ekspertbrukere 9 01-11-2008 01:05
les bestemt tekst fra en loggfil ragha81 Shell programmering og Skripting 4 10-17-2006 02:17
må lese 3 ° tegn fra en tekstfil piltrafa UNIX for Dummies Spørsmål og svar 15 07-26-2005 11:19
hjelp med cshell script å lese 1 eller flere lex filer homerj546 Shell programmering og Skripting 1 04-18-2004 11:01

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øk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 02-10-2009
phudgens phudgens is offline
Registrert bruker
  
 

Bli Date: Feb 2009
Beliggenhet: Denver
Innlegg: 40
Les tekstfil i Cshell

Jeg har vært søker forumet for info om du leser en tekstfil i en Cshell script men ingenting Jeg prøver fungerer. Mitt siste forsøk var:

satt LASInputFile \u003d `ls *. [LL] [Aa] [Ss] | head -1`
echo $ LASInputFile
mens du leser linje
gjøre
echo $ line
Ferdig <$ LASInputFile


Min feilmeldingen: mens: Expression syntaks

Takk for hjelp

Paul Hudgens
Denver
  #2 (permalink)  
Old 02-10-2009
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
modérateur
  
 

Bli Dato: desember 2007
Sted: Hjemme i 17-tiden verdensmesteren Boston Celtics
Innlegg: 1311
Question

Bare en tanke å begynne på dette ...
i stedet for loop, kan du erstatte den med en katt kommando?
Jeg skulle akkurat som å se om filen har noe å behandle
og / eller hvis det er en slags fil feil.
  #3 (permalink)  
Old 02-10-2009
quirkasaurus's Avatar
quirkasaurus quirkasaurus is offline
Registrert bruker
  
 

Bli Date: Jan 2009
Beliggenhet: Canton, Michigan
Innlegg: 382
ser ut som du kombinerer flyt uttrykk syntaksen for forskjellige shells ....
"lese" er en Bourne / Korn shell innebygd ... ikke csh.

hvorfor ikke bare på dette:


Code:
set LASInputFile = `ls *.[Ll][Aa][Ss] | head -1`
echo $LASInputFile
cat $LASInputFile

  #4 (permalink)  
Old 02-10-2009
phudgens phudgens is offline
Registrert bruker
  
 

Bli Date: Feb 2009
Beliggenhet: Denver
Innlegg: 40
Takk for innspill. Katten kommandoen gjør vise filen min til skjermen riktig. For øvrig, jeg er ikke sikker på om jeg bør svare på brukerens link eller via Quick Svar.
  #5 (permalink)  
Old 02-10-2009
stanleypane stanleypane is offline
Registrert bruker
  
 

Bli Date: Mar 2008
Innlegg: 23

Code:
set LASInputFile = `ls *.[Ll][Aa][Ss] | head -1`

set i=`cat $LASInputFile | wc -l`
set j=1

while ($j <= $i)

  set line=`cat $LASInputFile | head -$j | tail -1`

  @ j = $j + 1

  # do your thing with $line here.
  # for this example, we'll just echo
  # it back the screen
 
  echo $line

end

  #6 (permalink)  
Old 02-11-2009
phudgens phudgens is offline
Registrert bruker
  
 

Bli Date: Feb 2009
Beliggenhet: Denver
Innlegg: 40
Jeg får feilmeldingen: Ukjent bruker: VERSION

Detter er første linje i filen min:
~ VERSION

Noen av linjene i filen min begynne med en tilde. Er det skaper et problem? Også jeg setter i \u003d 100 siden det jeg etter er blant de øverste 100 linjer av en ellers svært lang fil.

satt LASInputFile \u003d `ls *. [LL] [Aa] [Ss] | head -1`
echo $ LASInputFile
satt j \u003d 1
while ($ j <\u003d 100)
satt linje \u003d `cat $ LASInputFile | head - $ j | tail -1`
@ J \u003d $ j + 1
echo $ line
slutt

Takk for hjelpen,

Paul H.
  #7 (permalink)  
Old 02-11-2009
stanleypane stanleypane is offline
Registrert bruker
  
 

Bli Date: Mar 2008
Innlegg: 23
Beklager, jeg har gjort noen små endringer i skriptet:


Code:
set LASInputFile = `ls *.[Ll][Aa][Ss] | head -1`
echo $LASInputFile
set j=1
while ($j <= 100)
set line="`cat $LASInputFile | head -$j | tail -1`"
@ j = $j + 1
echo "$line"
end

Jeg satte anførselstegn rundt "sette line" og "echo" deler av manuset. Dette vil stoppe skallet fra evaluere ~ VERSION som om det var en hjemmekatalog.
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er PÃ¥
Smilefjes er PÃ¥
[IMG] koden PÃ¥
HTML-koden Av
Pingbacks er PÃ¥
Refbacks er PÃ¥




Alle klokkeslett er GMT -4. NÃ¥ er klokken 09:14.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0