![]() |
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.
|
|
google unix.com
|
|||||||
| Forums | Register | Forum Rules | Links | Albums | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts and shell scripting languages here. |
More UNIX and Linux Forum Topics You Might Find Helpful
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| split string using separetor | rinku | Shell Programming and Scripting | 10 | 06-16-2009 02:01 PM |
| [KSH] Split string into array | piooooter | Shell Programming and Scripting | 3 | 09-01-2007 12:22 PM |
| split string help | senthilk615 | Shell Programming and Scripting | 4 | 03-27-2006 06:43 PM |
| split a string | gazingdown | Shell Programming and Scripting | 3 | 02-09-2006 05:34 AM |
| split a file at a specified string | jpl35 | Shell Programming and Scripting | 6 | 07-04-2002 11:41 AM |
![]() |
|
|
LinkBack | Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
|
|
||||
|
KSH split string into variables
Hello,
I am an intermediate scripter. I can usually find and adapt what I need by searching through previous postings, but I'm stumped. I have a string with the format "{Name1 Release1 Type1 Parent1} {Name2 Release2 Type2 Parent2}". It is being passed as an argument into a ksh script. I need to split this string into variables such as: Pkg1Name="Name1" Pkg1Release="Release1" Pkg1Type="Type1" Pkg1Parent="Parent1" Pkg2Name="Name2" Pkg2Release="Release2" Pkg2Type="Type2" Pkg2Parent="Parent2" Does anyone have any ideas how this may be accomplished, please? Thanks! D |
|
|||||
|
Quote:
Code:
#!/bin/ksh
$(echo "{Name1 Release1 Type1 Parent1} {Name2 Release2 Type2 Parent2}" | nawk -f drd.awk)
|
|
||||
|
Excellent! That worked.
I also had to add "export" to the printf statement and removed the quotes surrounding the variable values. So my .awk file ended up: BEGIN { FS="[{}]" nt=split("Pkg%dName Pkg%dRelease Pkg%dType Pkg%dParent", tmplA, " ") } { for(i=2; i<=NF; i+=2) { n=split($i, a, " ") for(j=1; j<=n; j++) printf("export %s=%s\n", sprintf(tmplA[j], i/2), a[j]) } Thanks so much for your prompt help! D |
![]() |
| Bookmarks |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|