One might note that the 1st code fragment (making the wild assumption that none of the obscured lines make any updates to the ctr variable), sets and writes three successive elements of the array a[] each time through the loop. This seems to be what you want to do, although it would probably be much more efficient to just have the loop set elements of the array and then use a single write of the entire array when the loop finishes.
The second code fragment sets elements of the array in about the same way in the first loop. But, the second loop writes elements 0, 1, and 2 of the array on the 1st pass; elements 1, 2, and 3 on the 2nd pass; 2, 3, and 4 on the 3rd pass; etc. To be logically equivalent to the first code fragment, you would need to change:
to something more like:
But, again, writing the entire array with a single write would seem to be much more efficient than writing the entire array one byte at a time.
One would expect that the file produced by the first code fragment you showed us is much smaller than the file produced by the second code fragment you showed us (by about a factor of 3). Maybe that would be a hint as to what might not be working???
This User Gave Thanks to Don Cragun For This Post:
Hi All,
How do I write into shared memory blocks using multiple threads? For example, I have created 50 threads to write into shared memory and 50 threads to read from shared memory.
I have already created a shared memory and I want to write into shared memory as follows:
... (0 Replies)
In a recent research experiment I was handling, I faced this task of managing huge amounts of data to the order of Terabytes and with the help of many people here, I managed to learn quite a lot of things in the whole process. I am sure that many people will keep facing these situations quite often... (2 Replies)
Hi,
I have the following variable declaration which looks like a 3d array or N matrixs KxK of floats
float (*table);
I have to pass to a function only the first table.
How can I do it??
Thanks (6 Replies)
Hi
My below code to display the contents in array is not working. Pls correct my code.
cat $file | while read file1
do
filenames=$file1
let i=$i+1
echo $i
echo ${filenames}
done
let j=1
while
do
echo "${filenames}"
let j=$j+1
done (5 Replies)
ok, so here is the issue, I have 2 arrays.
I need to be able to create a loop that will find ${ARRAY1 in the text doc, and replace it with ${ARRAY2 then write the results. I already have that working. The problem is, I need it to do that same result across however many items are in the 2... (2 Replies)
i have an array (with each element length "n") which is dynamic and has alphanumeric characters.
i want to check if any of the elements of the array are null and replace it with a string of "n" zeros for that element.
can you suggest me a code for the same. (1 Reply)
Hey guys,
I'm new to shell scripting and I'm trying to write a script that takes user input and copies the specified columns from a data file to a new one. In order to account for the possibility of a variable number of columns to copy I wrote a loop that encodes the user's choices in an array... (16 Replies)
Hello!
I wish to create a script that will automate the creation of HTML files...
for example, if my HTML starts out containing:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>$TITLE</title>
</head>
I want to put that into something that I can read and write later on. My... (4 Replies)
I need shell script for the following specfic need, I'll get following output after running my program.
I wanted every 50th row in the coloumn and take into array.
For example input
==============
03
03
03
03
05
05
05
05
07
07
07
07
I wanted to extract 3,5,7 and store it in... (12 Replies)
while i've used arrays to work with variables, i've never used them to loop through a set of strings and wanted to ask the community for some feedback or assistance.
let me be specific. here's my code:
# URL port Variables
port2195=`nc -z $url2195 2195`
port2196=`nc -z $url2196 2196`... (5 Replies)
Discussion started by: hungryd
5 Replies
LEARN ABOUT REDHAT
array
array(n) Tcl Built-In Commands array(n)
__________________________________________________________________________________________________________________________________________________NAME
array - Manipulate array variables
SYNOPSIS
array option arrayName ?arg arg ...?
_________________________________________________________________DESCRIPTION
This command performs one of several operations on the variable given by arrayName. Unless otherwise specified for individual commands
below, arrayName must be the name of an existing array variable. The option argument determines what action is carried out by the command.
The legal options (which may be abbreviated) are:
array anymore arrayName searchId
Returns 1 if there are any more elements left to be processed in an array search, 0 if all elements have already been returned.
SearchId indicates which search on arrayName to check, and must have been the return value from a previous invocation of array
startsearch. This option is particularly useful if an array has an element with an empty name, since the return value from array
nextelement won't indicate whether the search has been completed.
array donesearch arrayName searchId
This command terminates an array search and destroys all the state associated with that search. SearchId indicates which search on
arrayName to destroy, and must have been the return value from a previous invocation of array startsearch. Returns an empty string.
array exists arrayName
Returns 1 if arrayName is an array variable, 0 if there is no variable by that name or if it is a scalar variable.
array get arrayName ?pattern?
Returns a list containing pairs of elements. The first element in each pair is the name of an element in arrayName and the second
element of each pair is the value of the array element. The order of the pairs is undefined. If pattern is not specified, then all
of the elements of the array are included in the result. If pattern is specified, then only those elements whose names match pat-
tern (using the matching rules of string match) are included. If arrayName isn't the name of an array variable, or if the array
contains no elements, then an empty list is returned.
array names arrayName ?pattern?
Returns a list containing the names of all of the elements in the array that match pattern (using the matching rules of string
match). If pattern is omitted then the command returns all of the element names in the array. If there are no (matching) elements
in the array, or if arrayName isn't the name of an array variable, then an empty string is returned.
array nextelement arrayName searchId
Returns the name of the next element in arrayName, or an empty string if all elements of arrayName have already been returned in
this search. The searchId argument identifies the search, and must have been the return value of an array startsearch command.
Warning: if elements are added to or deleted from the array, then all searches are automatically terminated just as if array done-
search had been invoked; this will cause array nextelement operations to fail for those searches.
array set arrayName list
Sets the values of one or more elements in arrayName. list must have a form like that returned by array get, consisting of an even
number of elements. Each odd-numbered element in list is treated as an element name within arrayName, and the following element in
list is used as a new value for that array element. If the variable arrayName does not already exist and list is empty, arrayName
is created with an empty array value.
array size arrayName
Returns a decimal string giving the number of elements in the array. If arrayName isn't the name of an array then 0 is returned.
array startsearch arrayName
This command initializes an element-by-element search through the array given by arrayName, such that invocations of the array nex-
telement command will return the names of the individual elements in the array. When the search has been completed, the array done-
search command should be invoked. The return value is a search identifier that must be used in array nextelement and array done-
search commands; it allows multiple searches to be underway simultaneously for the same array. |
array unset arrayName ?pattern? |
Unsets all of the elements in the array that match pattern (using the matching rules of string match). If arrayName isn't the name |
of an array variable or there are no matching elements in the array, then an empty string is returned. If pattern is omitted and is |
it an array variable, then the command unsets the entire array.
KEYWORDS
array, element names, search
Tcl 8.3 array(n)