08-05-2004
variable interpolation
I've become obsessed with trying to get this to work.
As of yet, I am unable to figure it out. Unfortunately, I don't have Linux or UNIX available when I get home.
Anyone have tips for me on how I can pass param1 to ID via use of COUNTER and loop?
thx.
LIMIT=6
param1="999999999"
export param1
echo $param1
s_process()
{
echo $ID
}
COUNTER=1
while [ $COUNTER -lt "$LIMIT" ];
do
if [ "param$COUNTER" != "" ]
then
# ID=`echo '$'param$COUNTER`
param$COUNTER=`echo -n '$'param$COUNTER`
ID="$param$COUNTER"
echo $ID
export ID
s_process $ID
fi
let COUNTER=COUNTER+1
done
10 More Discussions You Might Find Interesting
1. Web Development
Hi everybody,
Firstly, this would be the first time I'm using JavaScript. My background is mainly Perl. Nevertheless, here's my problem.
So I've created a function
function linkout(url){
setTimeout("window.open(url)",5000) //in milliseconds
}
However because the variable "url" is... (0 Replies)
Discussion started by: z1dane
0 Replies
2. Shell Programming and Scripting
Hi,
I have a snippet like below.
Based on variable i, i wish to print 1,2,3,4,5th columns to Sample files.
For each loop, one column from contetn and results will be pused to sample files. But i have a problem here
i=1
while ; do
`awk -F"\t" '{print $($i)}' $content > Sample_${i}_original`;... (4 Replies)
Discussion started by: forums123456
4 Replies
3. Shell Programming and Scripting
Hi all,
Consider I have a text file containing:
1003 60
1005 80
1100 110
Based on that file I need to create another file which is containing value from 1001 till 1100 which is a linear interpolation between two point (for 1004; 1006;1007 until 1109) and extrapolation based on 2... (7 Replies)
Discussion started by: ardy_yana
7 Replies
4. Shell Programming and Scripting
Hi ! Experts...
I just wanted to know whether it is possible in scripting...to do interpolation....
if so....have a look on my data file
I need temperature and salinity value with a bin size of 0.5 m
output looks somewhat like this
dep temp sal
0.5 25 0.077
1 25 ... (12 Replies)
Discussion started by: nex_asp
12 Replies
5. Shell Programming and Scripting
Currently I have awk command to do linear interpolation
awk '
{
P=$2
I=$1
}
END {
j=0; s=I; t=I
for(i=m;i<=n;i++) {
if(I && i>t) {
j++; s=I; t=I
}
print i, P+(i-s)*(P-P)/(t-s)
}
} ' m=1 n=8 infile
FILE CONTENT... (8 Replies)
Discussion started by: Tzeronone
8 Replies
6. Shell Programming and Scripting
Dear All,
I have input like this,
infile:
10 464310.16
20 464309.44
30 464309.02
40 464316.93
...
...
Desired output per step:
out_step01:
10 464310.16
11
12
13
14 (9 Replies)
Discussion started by: attila
9 Replies
7. UNIX for Dummies Questions & Answers
Dear all, could you help me with following question. There are two datasets (below). I need to find match between BP values from data1 and data2, and add corresponding CM value from data2 into data1. if there is not exact match, the corresponding CM value should be calculated using interpolation.... (20 Replies)
Discussion started by: kush
20 Replies
8. Shell Programming and Scripting
Hi I am a newbie in awk scripting.
I'm working with a file with xy coordinates that were acquired with a time stamp. All the time stamps were recorded but not the XY coordinates. Let see an example:
FFID X Y UNIX TIME TIMEGAP... (8 Replies)
Discussion started by: Joćo Noiva
8 Replies
9. Shell Programming and Scripting
Dear All,
I have two files which contain numerical data and strings. I want to create a new file that only revise numerical data from two files using interpolation. I guess AWK works, but I am new on AWK.
FileA.txt
.
.
index_2("0.1, 1, 2, 4, 8, 16, 32");
values("0.0330208, 0.0345557,... (17 Replies)
Discussion started by: jypark22
17 Replies
10. Shell Programming and Scripting
Dear all,
I always appreciate your help. I am an electrical engineer. I am using a tool for timing analysis of a circuit. I would like to interpolate results from two timing reports at different voltages (0.945V and 0.78V). If voltage is decreased, data arrival time is increased.
For... (4 Replies)
Discussion started by: jypark22
4 Replies
LEARN ABOUT FREEBSD
counter_exit
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