incrementing the variable name along with the data?
Hello folks.
I am trying to increment my variable names to match a counter that is to be used later on...
Basically, i have a for loop that lists directories (for example TEST_OS DVP_OS PROD_OS ) but this loop is not static, it may contain 3 directory once and the next run 5 directories.
I then, want to assign "selection1" to TEST_OS, "selection2" to DVP_OS and "selection3" to PRD_OS. Again, those are not static...
Here is the code i have for now, but the "combining" of variables is not working... (selection$counter=$i) What i want, is that the variable selection1=TEST_OS and so forth...
Code:
BKPSETS=`ls -altr /etc/workdir/ | grep $OS | awk '{print $9}'`
counter=1
for i in $BKPSETS
do
echo $counter "-" $i
selection$counter=$i
echo $selection
counter=`expr $counter + 1`
done
read CHOICE
if [[ $CHOICE -ge $COUNTER ]]
then
echo "No such choice available. Quitting!"
exit 1
else
echo "You've selected option $CHOICE"
fi
I have 3 columns in an excel sheet.
c1 c2 c3
EIP_ACCOUNT SMALL_TS_01 select A.* from acc;
All the above 3 col shoud be passed a variable in the unix code.
1.How to read an excel file
2.How to pass these data as variable to the unic script (1 Reply)
Hi all,
I have a variable with date as 20080831 . Now I want to increment it as 20080901 and so on.Is there any command for this. Please help me.
thanks
rameez (1 Reply)
Hi All,
Iam trying to increment a variable
Following is the code
#!/usr/bin/ksh
i=1;
i='expr $i+1';
echo $i;
Output:
expr $i+1
not able to understand why its happening in that way
i was expecting result as 2... if the above method is worng .. can you help how i can get... (3 Replies)
1. The problem statement, all variables and given/known data:
Variable is resetting to 0 after incrementing in while loop
My bit of scripting displays the current users logged in the machine.
Then it reads in a specific username and displays the processes for that user.
The portion that I... (3 Replies)
When I did,
echo $SHELL in cmd prompt of putty,
its displaying /bin/sh
And in my shell script.,
I hav started with.,
#!/bin/sh
and
i=1;
while ;
do
.
.
.
i=$; (9 Replies)
Hi,
I am using BASH. I have encountered a situation where the following is necessary (but I am not sure how to do it):
#Define multiple arrays, whose names only differ by a number:
ARRAY_1=(1 2 3)
ARRAY_2=(4 5 6)
ARRAY_3=(7 8 9)
#Define ARRAY_AMOUNT, the number of arrays. In this case... (1 Reply)
Hi,
want to increment a variable in a for loop like this:
for (( c=$total-1; c>=0; c-- ))
do
if ;
then
maximo=$valores
fi
done
But it gives the error:
No such file or directory
How can i do this only incrementing the c variable?
Thanks (8 Replies)
Hi All,
I was wondering how I can convert each line in an input file where fields are separated by variable width spaces into a CSV file. Below is the scenario what I am looking for.
My Input data in inputfile.txt
19 15657 15685 Sr2dReader 107.88 105.51... (4 Replies)
Hi
I have the below set of lines , i need to duplicate these lines 1000 times, also eevrytime when it is incremented , it should increment the one in Blue color.
130400030000010000200001
130400030000010000200002
140050030000010000200005A
eg:
130400030000010000200001... (5 Replies)
This is part of a larger script where I need to pass only 1 line of a file to the script, based on a variable and not a direct reference.
As part of a for loop :
# for((line=0;line<50;line++)); do
# awk ‘NR==$line' PhraseList.txt; done
... (5 Replies)
Discussion started by: Seth
5 Replies
LEARN ABOUT FREEBSD
counter_u64_alloc
COUNTER(9) BSD Kernel Developer's Manual COUNTER(9)NAME
counter -- SMP-friendly kernel counter implementation
SYNOPSIS
#include <sys/types.h>
#include <sys/systm.h>
#include <sys/counter.h>
counter_u64_t
counter_u64_alloc(int wait);
void
counter_u64_free(counter_u64_t c);
void
counter_u64_add(counter_u64_t c, int64_t v);
void
counter_enter();
void
counter_exit();
void
counter_u64_add_protected(counter_u64_t c, int64_t v);
uint64_t
counter_u64_fetch(counter_u64_t c);
void
counter_u64_zero(counter_u64_t c);
#include <sys/sysctl.h>
SYSCTL_COUNTER_U64(parent, nbr, name, access, ptr, descr);
SYSCTL_ADD_COUNTER_U64(ctx, parent, nbr, name, access, ptr, descr);
DESCRIPTION
counter is a generic facility to create counters that can be utilized for any purpose (such as collecting statistical data). A counter is
guaranteed to be lossless when several kernel threads do simultaneous updates. However, counter does not block the calling thread, also no
atomic(9) operations are used for the update, therefore the counters can be used in any non-interrupt context. Moreover, counter has special
optimisations for SMP environments, making counter update faster than simple arithmetic on the global variable. Thus counter is considered
suitable for accounting in the performance-critical code pathes.
counter_u64_alloc(wait)
Allocate a new 64-bit unsigned counter. The wait argument is the malloc(9) wait flag, should be either M_NOWAIT or M_WAITOK. If
M_NOWAIT is specified the operation may fail.
counter_u64_free(c)
Free the previously allocated counter c.
counter_u64_add(c, v)
Add v to c. The KPI does not guarantee any protection from wraparound.
counter_enter()
Enter mode that would allow to safely update several counters via counter_u64_add_protected(). On some machines this expands to
critical(9) section, while on other is a nop. See IMPLEMENTATION DETAILS.
counter_exit()
Exit mode for updating several counters.
counter_u64_add_protected(c, v)
Same as counter_u64_add(), but should be preceded by counter_enter().
counter_u64_fetch(c)
Take a snapshot of counter c. The data obtained is not guaranteed to reflect the real cumulative value for any moment.
counter_u64_zero(c)
Clear the counter c and set it to zero.
SYSCTL_COUNTER_U64(parent, nbr, name, access, ptr, descr)
Declare a static sysctl oid that would represent a counter. The ptr argument should be a pointer to allocated counter_u64_t. A read
of the oid returns value obtained through counter_u64_fetch(). Any write to the oid zeroes it.
SYSCTL_ADD_COUNTER_U64(ctx, parent, nbr, name, access, ptr, descr)
Create a sysctl oid that would represent a counter. The ptr argument should be a pointer to allocated counter_u64_t. A read of the
oid returns value obtained through counter_u64_fetch(). Any write to the oid zeroes it.
IMPLEMENTATION DETAILS
On all architectures counter is implemented using per-CPU data fields that are specially aligned in memory, to avoid inter-CPU bus traffic
due to shared use of the variables between CPUs. These are allocated using UMA_ZONE_PCPU uma(9) zone. The update operation only touches the
field that is private to current CPU. Fetch operation loops through all per-CPU fields and obtains a snapshot sum of all fields.
On amd64 a counter update is implemented as a single instruction without lock semantics, operating on the private data for the current CPU,
which is safe against preemption and interrupts.
On i386 architecture, when machine supports the cmpxchg8 instruction, this instruction is used. The multi-instruction sequence provides the
same guarantees as the amd64 single-instruction implementation.
On some architectures updating a counter require a critical(9) section.
SEE ALSO atomic(9), critical(9), locking(9), malloc(9), sysctl(9), uma(9)HISTORY
The counter facility first appeared in FreeBSD 10.0.
AUTHORS
The counter facility was written by Gleb Smirnoff and Konstantin Belousov.
BSD February 7, 2014 BSD