The UNIX and Linux Forums  


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
Hoe voer ik dubbele vervanging in bash? vluchten Programmeren en Shell Scripting 3 04-09-2009 05:51 PM
Variabele substitutie Leo_NN UNIX voor Dummies Questions & Answers 7 10-17-2008 12:24
Sed variabele substitutie wanneer variabele geconstrueerd van een directory pad alrinno Programmeren en Shell Scripting 2 07-11-2008 03:24 PM
Bash: slecht substitutie probleem ... pls help! xfouxs UNIX voor Dummies Questions & Answers 1 11-23-2007 05:48 PM
Substitutie in een variabele spragueg UNIX for Advanced & Expert Gebruikers 3 10-18-2001 10:14

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 04-21-2009
trey85stang trey85stang is offline
Geregistreerde gebruiker
  
 

Join Date: mei 2008
Posts: 72
/bin / bash - variabele substitutie.

Is het mogelijk met een bash variabele meerdere strings substitutie uit te voeren om een variabele?

Ik heb deze variabele:
echo $ klok
TIMEZONE \u003d "US / Central"

Wat ik zou willen doen met bash het maar trek gewoon de "US" deel van de variabele .. zouden kunnen worden een aantal landen.

dit is waar ik ben op:

echo $ (klok: 10)
US / Central "

echo $ (klok: 10 # * /)
bash: testen: 10 # * /: syntax error: operand verwacht (error token is "/")

echo $ (klok # * /)
Central "


Dus, ik ben missing something .. of kan ik alleen een soort substition met een bash variabele?

bedankt,
Trey
  #2 (permalink)  
Old 04-21-2009
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Join Date: Feb 2007
Berichten: 4.333
Probeer dit:


Code:
echo $clock | sed 's!.*"\(.*\)/.*!\1!'

Groeten
  #3 (permalink)  
Old 04-21-2009
colemar colemar is offline
Geregistreerde gebruiker
  
 

Join Date: april 2009
Locatie: Trento, Italië
Posts: 116

Code:
colemar@deb:~$ echo ${clock:10:2}
US

colemar@deb:~$ a=${clock#*\"}
colemar@deb:~$ echo $a
US/Central"
colemar@deb:~$ echo ${a%%/*}
US


Laatst bewerkt door colemar; op 04.21.2009 05:49 PM.. Reden:%%
  #4 (permalink)  
Old 04-21-2009
trey85stang trey85stang is offline
Geregistreerde gebruiker
  
 

Join Date: mei 2008
Posts: 72
Citaat:
Oorspronkelijk geplaatst door Franklin52 View Post
Probeer dit:


Code:
echo $clock | sed 's!.*"\(.*\)/.*!\1!'

Groeten
thanks, maar ik was gewoon benieuwd of ik dit kon doen alles met bash.

Citaat:
Oorspronkelijk geplaatst door colemar View Post
Code:
colemar@deb:~$ echo ${clock:10:2}
US
Ik weet dat, maar het probleem is dat de VS niet alway US aldus meer dan kunnen 2 tekens lang ...
  #5 (permalink)  
Old 04-21-2009
colemar colemar is offline
Geregistreerde gebruiker
  
 

Join Date: april 2009
Locatie: Trento, Italië
Posts: 116
Citaat:
Oorspronkelijk geplaatst door trey85stang View Post
Ik weet dat, maar het probleem is dat de VS niet alway US aldus meer dan kunnen 2 tekens lang ...
Dan moet u doen in twee stappen, zoals hierboven beschreven.
Ik geloof dat er geen manier om het te doen in een keer met bash parameters substitutie.
  #6 (permalink)  
Old 04-21-2009
colemar colemar is offline
Geregistreerde gebruiker
  
 

Join Date: april 2009
Locatie: Trento, Italië
Posts: 116
Citaat:
Oorspronkelijk geplaatst door colemar View Post
Ik geloof dat er geen manier om het te doen in een keer met bash parameters substitutie.
Schijnt mogelijk te maken, maar lelijk:

Code:
colemar@deb:~$ echo ${clock//@(*?=\"|\/*?)/}
US

  #7 (permalink)  
Old 04-21-2009
trey85stang trey85stang is offline
Geregistreerde gebruiker
  
 

Join Date: mei 2008
Posts: 72
Citaat:
Oorspronkelijk geplaatst door colemar View Post
Schijnt mogelijk te maken, maar lelijk:

Code:
colemar@deb:~$ echo ${clock//@(*?=\"|\/*?)/}
US
lijkt dat zal doen, good stuff. Ik waardeer het. Dit bespaart me een hoop werk maken van een bos van variabelen in een script
Closed Thread

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 01:24 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