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 > UNIX voor Dummies Questions & Answers
.
google unix.com



UNIX voor Dummies Questions & Answers Als u niet zeker weet waar je een Unix-of Linux vraag, post het hier. Alle UNIX-en Linux beginners van harte welkom!!

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
Sed te grep alleen nummers in string ajilesh Programmeren en Shell Scripting 5 11-07-2008 01:39 PM
Hoe te sorteren een string met nummers ahjiefreak Programmeren en Shell Scripting 5 12-21-2007 10:52
Hoe Vergelijk Floating point / reële getallen padarthy Programmeren en Shell Scripting 13 09-24-2007 08:03 PM
Hoe krijg ik nummers van een string? eliraza6 Programmeren en Shell Scripting 13 07-18-2007 07:04
probleem met floating point getallen in awk kanagias Programmeren en Shell Scripting 7 06-24-2005 03:14 PM

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 Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 06-29-2009
tintin72 tintin72 is offline
Geregistreerde gebruiker
  
 

Join Datum: maart 2009
Posts: 23
Met behulp van drijvende Numbers in String

Beste Unix Goeroes,

Ik heb een lijst van bestanden die ik wil lus over .... bijvoorbeeld:
Code:
 
sl40_z11.70.txt
sl41_z11.40.txt
sl42_z11.10.txt
sl43_z10.80.txt
met behulp van het script

Code:
 
#!/bin/sh
#
echo -n "....enter first Z-coordinate position....."; read zpos
q="scale=3; $zpos"
p=0.3
#
loopNumber=$[($lastslice - $firstslice)+1]
echo "loopNumber is $loopNumber"
echo firstslice no. is $firstslice
 
for ((i=$firstslice; i<=$loopNumber; i++)); do 
n=$[i]
for ((k=0; k<=$loopNumber; k++)); do 
r=$[k] ; f=$r*$p ; zposition=$q-$f 
 
echo "sl$[n]_z$[zposition].txt"
 
done
done
waar firstslice is 40 en lastslice is 43 en 0,3 is het verschil in z-cordinate btw de bestanden.

Mijn probleem is dat het script werkt prima met de uitzondering dat bash niet herkent $ zposition. Het kan blijkbaar niet omgaan met iteratie met drijvende nummers? Kan iemand helpen?

Sante
  #2 (permalink)  
Old 06-29-2009
jayan_jay jayan_jay is offline
Geregistreerde gebruiker
  
 

Join Date: juli 2008
Locatie: Chennai
Posts: 40
Probeer dit en verandering volgens ur variabelen.

echo "schaal \u003d 4; $ b + c $" | bc
  #3 (permalink)  
Old 06-29-2009
tintin72 tintin72 is offline
Geregistreerde gebruiker
  
 

Join Datum: maart 2009
Posts: 23
Citaat:
Oorspronkelijk geplaatst door jayan_jay View Post
Probeer dit en verandering volgens ur variabelen.

echo "schaal \u003d 4; $ b + c $" | bc
Ik ben niet zeker of ik begrijp je. Doing
Code:
echo "$zposition" |bc
geeft de juiste uitgang. Maar doen
Code:
echo "sl$[n]_z$[zposition].txt"
niet. Dit is mijn probleem.
  #4 (permalink)  
Old 06-29-2009
jayan_jay jayan_jay is offline
Geregistreerde gebruiker
  
 

Join Date: juli 2008
Locatie: Chennai
Posts: 40
Probeer dit
echo "sl $ (n) _z $ zposition (). txt"
  #5 (permalink)  
Old 07-01-2009
tintin72 tintin72 is offline
Geregistreerde gebruiker
  
 

Join Datum: maart 2009
Posts: 23
Citaat:
Oorspronkelijk geplaatst door jayan_jay View Post
Probeer dit
echo "sl $ (n) _z $ zposition (). txt"
werkt niet. kan ik gewoon vragen .. heb je eigenlijk probeer je suggesties bufore suggereren ze op het forum?
  #6 (permalink)  
Old 07-01-2009
fpmurphy's Avatar
fpmurphy fpmurphy is offline Forum Staff  
Moderator
  
 

Join Date: december 2003
Locatie: Florida
Berichten: 1.924
Humm, ik heb gekeken naar deze shell script een paar keer en krabde mijn hoofd.

U stelt de variabele 'q' in een string
Code:
q="scale=3; $zpos"
maar je verwacht te kunnen aftrekken een nummer uit het
Code:
zposition=$q-$f
Hoe is dit bedoeld om te werken?

Laatst gewijzigd door fpmurphy; op 07.01.2009 08:12 PM.. Reden: vaste typo
  #7 (permalink)  
Old 07-06-2009
tintin72 tintin72 is offline
Geregistreerde gebruiker
  
 

Join Datum: maart 2009
Posts: 23
Citaat:
Oorspronkelijk geplaatst door fpmurphy View Post
Humm, ik heb gekeken naar deze shell script een paar keer en krabde mijn hoofd.

U stelt de variabele 'q' in een string
Code:
q="scale=3; $zpos"
maar je verwacht te kunnen aftrekken een nummer uit het
Code:
zposition=$q-$f
Hoe is dit bedoeld om te werken?
Hoi,

Ik revisited het ook en krabde mijn hoofd zo goed! Er is een fout in het script ... als firstslice is groter dan lastslice het zal niet werken. Dus ik heb geprobeerd een andere boeg met behulp van awk.

als een herinnering, dit is wat ik wil doen, ik heb een lijst van bestanden:

Code:
 
sl40_z11.70.txt
sl41_z11.40.txt
sl42_z11.10.txt
sl43_z10.80.txt
Ik wil lus door deze bestanden te houden hun etikettering intact. Bijvoorbeeld, ik wil doen in een script

Code:
cp sl40_z11.70.txt sl40_z11.70.dat
cp sl41_z11.40.txt sl41_z11.40.dat
cp sl42_z11.10.txt sl42_z11.10.dat
cp sl43_z10.80.txt sl43_z10.80.dat
Ik heb honderden van deze bestanden en ik nodig voor het verrichten van andere, niet-triviale operaties op hen. Probleem is bash niet herkent drijvende nummers dus ik kan niet lus over hen.

mijn nieuwe script:

Code:
 
#!/bin/sh
#
echo -n "....enter first slice number....."; read firstslice
echo -n "....enter last slice number....."; read lastslice
#
echo -n "....enter first Z-coordinate position....."; read zpos
#sliceDiff=0.3
#
loopNumber=$[($lastslice - $firstslice)+1]
echo "loopNumber is $loopNumber"
echo firstslice no. is $firstslice
for ((k=$firstslice;k<=$lastslice; k++)); do 
r=$[k]
echo "$firstslice $r $zpos" | awk '{print $3-(($2-$1)*0.3)}'
#echo "$firstslice $r $zpos" | awk '{print $i}' sl$2_z[$3-(($2-$1)*0.3)].txt > xxxx.dat
done
Dus loopt dit script en het binnenkomen op prompts "40", "43", "11,70"
lussen over de 4-bestanden netjes. Maar ik weet niet hoe op te nemen van de output in de laatste regel van het script zodat awk erkent de bestandsnaam.

Alle hulp wordt zeer gewaardeerd.

Sante
Reply

Bladwijzers

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 09:34.


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