lassign(n) Tcl Built-In Commands lassign(n)
__________________________________________________________________________________________________________________________________________________NAME
lassign - Assign list elements to variables
SYNOPSIS
lassign list varName ?varName ...?
_________________________________________________________________DESCRIPTION
This command treats the value list as a list and assigns successive elements from that list to the variables given by the varName arguments
in order. If there are more variable names than list elements, the remaining variables are set to the empty string. If there are more
list elements than variables, a list of unassigned elements is returned.
EXAMPLES
An illustration of how multiple assignment works, and what happens when there are either too few or too many elements.
lassign {a b c} x y z ;# Empty return
puts $x ;# Prints "a"
puts $y ;# Prints "b"
puts $z ;# Prints "c"
lassign {d e} x y z ;# Empty return
puts $x ;# Prints "d"
puts $y ;# Prints "e"
puts $z ;# Prints ""
lassign {f g h i} x y ;# Returns "h i"
puts $x ;# Prints "f"
puts $y ;# Prints "g"
The lassign command has other uses. It can be used to create the analogue of the "shift" command in many shell languages like this:
set ::argv [lassign $::argv argumentToReadOff]
SEE ALSO
lindex(n), list(n), lset(n), set(n)
KEYWORDS
assign, element, list, multiple, set, variable
Tcl 8.5 lassign(n)
Check Out this Related Man Page
lassign(n) Tcl Built-In Commands lassign(n)
__________________________________________________________________________________________________________________________________________________NAME
lassign - Assign list elements to variables
SYNOPSIS
lassign list varName ?varName ...?
_________________________________________________________________DESCRIPTION
This command treats the value list as a list and assigns successive elements from that list to the variables given by the varName arguments
in order. If there are more variable names than list elements, the remaining variables are set to the empty string. If there are more
list elements than variables, a list of unassigned elements is returned.
EXAMPLES
An illustration of how multiple assignment works, and what happens when there are either too few or too many elements.
lassign {a b c} x y z ;# Empty return
puts $x ;# Prints "a"
puts $y ;# Prints "b"
puts $z ;# Prints "c"
lassign {d e} x y z ;# Empty return
puts $x ;# Prints "d"
puts $y ;# Prints "e"
puts $z ;# Prints ""
lassign {f g h i} x y ;# Returns "h i"
puts $x ;# Prints "f"
puts $y ;# Prints "g"
The lassign command has other uses. It can be used to create the analogue of the "shift" command in many shell languages like this:
set ::argv [lassign $::argv argumentToReadOff]
SEE ALSO
lindex(n), list(n), lset(n), set(n)
KEYWORDS
assign, element, list, multiple, set, variable
Tcl 8.5 lassign(n)
I need to read a file (a list) and assign the value to a variable (for each line), I'm looping until the end of the file. My problem is, I want to assign 2 separate variables from the list. The process I'm using is:
awk '{print $3}' file1 > file2
awk '{print $4}' file1 > file3
cat file2... (2 Replies)
one of my colleagues has this question.
he has a command, C_CMD which accepts 4 variables, $1 $2 $3 $4
he wants to load up a file with multiple rows, one row per set of variables and then iteratively execute the command based on the content of the file.
example:
at the command line you'd... (5 Replies)
Guys anyone know how i can store fields into multiple variables in one go?
I'm wanting to grab the disk id's from format into disk1 and disk2
Below is what i want to work but i know it doesnt :-
: | format | awk '/^(\ +)/ {print $2}' | read disk1 disk2
The below does work...but i don't... (5 Replies)
Hi all,
I'm trying to do something that might be basic, but it is not working for me, and I suspect I'm missing something.
I appreciate if you can shed a light or offer an alternative.
In expect script, I'm opening a file i.e:
set file I have a simple proc:
proc a {} { puts "Hello... (3 Replies)
Hi Folks,
I am trying to assign a value from the command to a dynamic variable. But I am not getting the desired output.. I am sure something is wrong so i need experts advise.
There will be multiple files like /var/tmp/server_1, /var/tmp/server_2, /var/tmp/server_3, having different server... (6 Replies)
Hello everyone,
What is the difference between these two tcl commands:
(A) --> puts "ERROR!!! ${current_name}/${opt} is not found."
(B) --> puts "ERROR!!! $current_name/$opt is not found."
Are the braces needed to be put? Or both A and B has the same output? (5 Replies)
Hi All,
here D Prints the bytes value .plz help to convert the variable D value to MB in new variable $E
D=`more $C |awk '{print $6;}'`
Thanks in Advance.:) (3 Replies)
Hi, I have a variable which read the value from the lines, and if it is empty string (5 bytes), then I have to assign this variable to zero "0", it able to detect the data is empty by showing me the message "empty", but not able to assign it as zero.
WTHP=`echo "$file" | cut -c158-162`
if ]... (5 Replies)
I am trying to write a simple function to select values from a database and assign them to variables. It can have any number of arguments sent into it, and I want to assign the value retrieved to a different variable name for each argument sent in. So my code looks something like this:
... (6 Replies)
I have a file containing multiple values, some of them are pipe separated which are to be read as separate values and some of them are single value all are these need to store in variables.
I need to read this file which is an input to my script
Config.txt
file name, first path, second... (7 Replies)
How does one assign a variable, x to equal the number of records in a different file.
I have a simple command such as below:
awk -F "\t" '(NR>5) { if(($x == "0/0")) { print $0} }' a.txt > a1.txt
but I want x to equal the number of records in a different file, b.txt (10 Replies)
Hi,
I have a 10*10 two dimensional array. How do I assign value to all it's 100 elements at once? I don't want to open two for loops and assign one by one.
Thanks,
Shuri (1 Reply)
Hi folks,
I have a list of variables as follows:
CDBTEST1
messdba1
sat11cru1
s12tgts1
sa12ss1
I need to remove the last '1' so I can use the remaining variables in a for loop:
CDBTEST
messdba
sat11cru
s12tgts
sa12ss
Something like this: (3 Replies)
Hi Guys,
I need to assign the value of which has rows to a variable, Can you advise how to do that
hive --orcfiledump /hdfs_path/ | grep "Rows"
Rows: 131554
I need to assign this row count itself to a unix variable
count=$(hive --orcfiledump /hdfs_path/ | grep "Rows")
Expected ... (6 Replies)