Split in tcl script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Split in tcl script
# 1  
Old 03-19-2013
Split in tcl script

Hi All,

I have a string
Code:
re_em="NODE_NAME=ABCDEF;NODE_TYPE=ghijkl;CIRCLE=jkl;Serving_Circle=abcdefghthjk;DOMAIN_TYPE=1234;REGION=12345;ZONE=12334;SOURCE_TYPE=dhfkdkfjdjf"

I want to split this string and convert it into array so that i can easily access any value like NODE_NAME or NODE_TYPE

Thanks
# 2  
Old 03-19-2013
I suppose your columns remain fixed..

Code:
awk -F"[;\"]" ' { print $3  } '

---------- Post updated at 07:16 PM ---------- Previous update was at 07:14 PM ----------

and if you want search based on your choice

Code:
awk -F"[;\"]" ' { for(i=1;i<=NF;i++) { if($i ~ "NODE_NAME" ) { print $i }  } } '

# 3  
Old 03-19-2013
Hi.

Here is something to get you started with your request in tcl:
Code:
#!/usr/bin/env tclsh

# @(#) s1     Demonstrate associative array.

set version [ info tclversion ]
set message " Hello, world from tclsh ($version)"
puts stdout $message

set s "NODE_NAME=ABCDEF;NODE_TYPE=ghijkl;CIRCLE=jkl;Serving_Circle=abcdefghthjk;DOMAIN_TYPE=1234;REGION=12345;ZONE=12334;SOURCE_TYPE=dhfkdkfjdjf"

# split the line into strings separated by ";"
set pairs [split $s ";"]
puts "sample pair at index 1 = [lindex $pairs 1]"
puts ""

# break apart key=value pairs into associative array a
for {set x 0} {$x < [llength $pairs]} {incr x} {
  set p [ split [lindex $pairs $x] "=" ]
  puts $p
  set a([lindex $p 0]) "[lindex $p 1]"
}
puts ""

puts "sample associative array a of key SOURCE_TYPE = value $a(SOURCE_TYPE)"

exit 0

producing:
Code:
% ./s1
 Hello, world from tclsh (8.4)
sample pair at index 1 = NODE_TYPE=ghijkl

NODE_NAME ABCDEF
NODE_TYPE ghijkl
CIRCLE jkl
Serving_Circle abcdefghthjk
DOMAIN_TYPE 1234
REGION 12345
ZONE 12334
SOURCE_TYPE dhfkdkfjdjf

sample associative array a of key SOURCE_TYPE = value dhfkdkfjdjf

See web sites such as Listing of Directory /man/tcl/TclCmd/ and man pages for details.

Best wishes ... cheers, drl
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

TCL script help

Hi All , I am having a file as stated below File 1 chain = chan6 group = grp0 input = '/pad_pc10' output = '/pad_pb7' length = 9900 chain = chan2 group = grp0 input = '/pad_pa4' output = '/pad_pb12' length = 10000 chain = chan7 group = grp0 input = '/pad_pb2' output =... (1 Reply)
Discussion started by: kshitij
1 Replies

2. Shell Programming and Scripting

Help using regexp in a TCL script ??

In a tcl script I need to find a way of reading a file, and looking for a phrase ("set myvariable") and putting the word following that into a variable. I've used a file open, and a while loop with gets to read each line from the file into a variable, and using regexp searched for the item. I'm... (1 Reply)
Discussion started by: Tonyb61
1 Replies

3. Programming

Csh script and tcl

I have csh script and call tck command but it do nothing. can you help me? I only can see it echo #!/bin/csh -f set mypath = `pwd` echo $mypath if ($mypath =~ *PLL*) then echo "source ../PreBoot.qel" else if ($mypath !~ *PLL*) then echo "source ../hdfuse.qel" endif if i remove... (1 Reply)
Discussion started by: sabercats
1 Replies

4. Shell Programming and Scripting

Help with TCL script

I need to read a file, the file has a table in it. From the table I need to choose all the rows for which AVG 2 value is greater than 0.050 and write them on to a separate file. Please help me with the TCL script for this. Thanks in Advance (0 Replies)
Discussion started by: tonystark
0 Replies

5. Programming

Tcl script

Dear Users I'm struck by while the following tcl script. foreach l { set w($l) {} set fsum 0 foreach ftemp $f($l) { set fsum lappend w($l) $fsum } } It shows me error as "missing operand at _@_ in expression "0.10308400000000001 + _@_* 0.4 * 1" ... (0 Replies)
Discussion started by: bala06
0 Replies

6. Shell Programming and Scripting

TCL script in PERL

Hi all, I am trying to run a tcl script in a perl script. Now my problem is when I run the tcl script from the perl script it runs very slowly but when I run the tcl script individually it is running at expected speed. What could be the problem?? Help please!!!! Thanks (0 Replies)
Discussion started by: mirock
0 Replies

7. Shell Programming and Scripting

Syntax error calling TCL script from shell script

hello everyone i am beginner on shell scripting .and i am working on my project work on ad hoc network i wrote a batch (.sh) to do a looping and execute a tcl script i wrote before in each iteration ..but i got this problem " syntax error near unexpected token `('... (1 Reply)
Discussion started by: marcoss90
1 Replies

8. Shell Programming and Scripting

Issue in regards with TCL script

Hi , I am having one File "free" contents are like this module KANDI ( DQS2SD0,.DQW09X2SEL2(... (0 Replies)
Discussion started by: kshitij
0 Replies

9. Shell Programming and Scripting

expect TCL script

Hello, I write a TCL script for Expect/ Telnet. I want to send command to the telnet server. But I want to close after the command is sent. Anybody know which command can flush the expect so I can sure the command is sent to the telnet server??? EX: send "./command1\r" close... (0 Replies)
Discussion started by: linboco
0 Replies

10. Shell Programming and Scripting

TCL TK SCRIPT Help Please

Hi Seniors, Need a help from your end. I am new to scripting and still in the learning process of scripting. I have written a script on TCL TK. This is the script that i have written. if { $EssEntityType == "rss_user" && $EssAction == "Insert" } { puts $fp " Ess Action :$EssAction" ... (0 Replies)
Discussion started by: tech90210
0 Replies
Login or Register to Ask a Question