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
Script om nieuwe regels in een bestand en kopieert het naar nieuw bestand fara_aris Programmeren en Shell Scripting 0 05-27-2008 10:11 PM
vangen ping naar een bestand MizzGail SUN Solaris 3 09-20-2007 09:31
Capture Prijs uit bestand kris01752 UNIX for Advanced & Expert Gebruikers 1 08-28-2006 10:50 PM
Capture de opdracht uitvoeren in het logbestand ahmedwaseem2000 Programmeren en Shell Scripting 4 08-09-2006 01:06 PM
vangen nohup logboekbestand mgirinath Programmeren en Shell Scripting 2 04-24-2006 04:51 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 Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 05-25-2007
Mandab Mandab is offline
Geregistreerde gebruiker
  
 

Join Date: Apr 2007
Posts: 22
vangen de bestandsnaam

Ik probeer aan de bestandsnaam vangen (die niet met een vaste lengte) en bewaar hem in een variabele. Het is werken in unix dat, wanneer ik het uitvoeren van het script in dezelfde Informatica is het niet dat ik de gewenste uitvoer. Maar toen ik de opmerking van de optie (vinden de bestandsnaam) dan is het prima werkt. Het kan ook, want ik ben met behulp van awk. Is er een andere manier (andere dan het gebruik van awk) aan de bestandsnaam te vinden? Bestandsnaam wordt in de tweede regel van het bestand met 2 andere items filesize numerieke (10) en record numeriek rekenen (8).

Hier is mijn code:
#! / bin / ksh

eval $ (awk 'NR \u003d\u003d 2 (
printf "header_fname \u003d \"% s \ "\ n", substr ($ 0,1, lengte-18) # # filename
) '$ 1)

echo "$ header_fname"

Voorbeeldbestand:
id_xyz20070523085554004
abcdefgh.csv000000324100000036
  #2 (permalink)  
Old 05-25-2007
aigles's Avatar
aigles aigles is online now Forum Advisor  
Geregistreerde gebruiker
  
 

Join Date: april 2004
Locatie: Bordeaux, Frankrijk
Berichten: 1.418
Code:
header_fname=`awk 'NR==2 { print substr($0,1,length-18) }' $1`
echo $header_fname
of
Code:
#!/bin/ksh
{
  read line
  read line
} < $1
header_fname=${line%??????????????????}
echo $header_fname
Jean-Pierre.
  #3 (permalink)  
Old 05-25-2007
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmeur, auteur
  
 

Join Datum: maart 2007
Plaats: Toronto, Canada
Berichten: 2.361
Citaat:
Oorspronkelijk geplaatst door Mandab
Ik probeer aan de bestandsnaam vangen (die niet met een vaste lengte) en bewaar hem in een variabele. Het is werken in unix dat, wanneer ik het uitvoeren van het script in dezelfde Informatica is het niet dat ik de gewenste uitvoer. Maar toen ik de opmerking van de optie (vinden de bestandsnaam) dan is het prima werkt. Het kan ook, want ik ben met behulp van awk. Is er een andere manier (andere dan het gebruik van awk) aan de bestandsnaam te vinden? Bestandsnaam wordt in de tweede regel van het bestand met 2 andere items filesize numerieke (10) en record numeriek rekenen (8).

Hier is mijn code:
#! / bin / ksh

eval $ (awk 'NR \u003d\u003d 2 (
printf "header_fname \u003d \"% s \ "\ n", substr ($ 0,1, lengte-18) # # filename
) '$ 1)

echo "$ header_fname"

Voorbeeldbestand:
id_xyz20070523085554004
abcdefgh.csv000000324100000036

In elk type Bourne-shell (bash, ksh, sh, enz.):

Code:
{
 read line
 IFS=0123456789 read header_fname junk
} < "$FILE"
echo "$header_fname"
  #4 (permalink)  
Old 05-26-2007
aigles's Avatar
aigles aigles is online now Forum Advisor  
Geregistreerde gebruiker
  
 

Join Date: april 2004
Locatie: Bordeaux, Frankrijk
Berichten: 1.418
Citaat:
Oorspronkelijk geplaatst door cfajohnson
In elk type Bourne-shell (bash, ksh, sh, enz.):

Code:
{
 read line
 IFS=0123456789 read header_fname junk
} < "$FILE"
echo "$header_fname"
Werkt niet als de bestandsnaam een numeriek teken bevat.

Jean-Pierre.
  #5 (permalink)  
Old 05-29-2007
Mandab Mandab is offline
Geregistreerde gebruiker
  
 

Join Date: Apr 2007
Posts: 22
Dank u Aigles, werkt perfect.
Closed Thread

Bladwijzers

Labels
bash, bash eval, eval

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:26 PM.


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