06-24-2009
awk: reading into an array and then print the value corresponding to index
I am beginner in awk
awk 'BEGIN{for(i=1;(getline<"opnoise")>0;i++) arr[i]=$1}{print arr[20]}'
In the above script, opnoise is a file, I am reading it into an array and then printing the value corresponding to index 20. Well this is not my real objective, but I have posted this example to describe the problem.
The problem is when I execute the script there is no activity(no error, just a blank) and the body i.e, the print statement, execute only when I hit "ENTER" for the second time. Also gawk does not exit to command prompt automatically, I have to hit CTRL+C to exit and awk gets displayed while exiting.
Here is what happens,
user@server ~/folder
$ awk 'BEGIN{for(i=1;(getline<"opnoise")>0;i++) arr[i]=$1}{print arr[20]}'
684
awk
user@server ~/folder
$
10 More Discussions You Might Find Interesting
1. Filesystems, Disks and Memory
why do inode indices starts from 1 unlike array indexes which starts from 0
its a question from "the design of unix operating system" of maurice j bach
id be glad if i get to know the answer quickly
:) (0 Replies)
Discussion started by: sairamdevotee
0 Replies
2. UNIX for Dummies Questions & Answers
brothers why inode index starts from 1 unlike array inex which starts from 0
its a question from the design of unix operating system of maurice j.bach
i need to know the answer urgently...someone help please (1 Reply)
Discussion started by: sairamdevotee
1 Replies
3. Shell Programming and Scripting
$ cat file.txt
A|X|20
A|Y|20
A|X|30
A|Z|20
B|X|10
A|Y|40
Summing up $NF based on first 2 fields,
$ awk -F "|" 'BEGIN {OFS="|"}
{ sum += $NF }
END { for (f in sum) print f,sum }
' file.txt
o/p:
A|X|50
A|Y|60
A|Z|20 (4 Replies)
Discussion started by: uwork72
4 Replies
4. Shell Programming and Scripting
I want to read $3,$4,$5,$6,$7 of fileA in array and when
fileb $1 = fileA $4
the i want to print array and few fields from fileB.
This should work but has some syntax error.
nawk -F, 'FNR==NR{a=;next} a{print a}' fileB fileA
Appreciate if someone can correct this. (2 Replies)
Discussion started by: pinnacle
2 Replies
5. Shell Programming and Scripting
Hi,
I am using KSH shell to do some programming.
I want to search array and print index value of the array.
Example..
nodeval4workflow="DESCRIPTION ="" ISENABLED ="YES" ISVALID ="YES" NAME="TESTVALIDATION"
set -A strwfVar $nodeval4workflow
strwfVar=DESCRIPTION=""... (1 Reply)
Discussion started by: tmalik79
1 Replies
6. UNIX for Dummies Questions & Answers
Hi!
Let's say I would like to convert "1", "2", "3" to "a", "b", "c" respectively. But if a record contains other number then return "X".
input:
1
2
3
4
output:
a
b
c
X
What is the syntax for:
if(array doesn't contain a particular index){
then print the value "X" instead} (12 Replies)
Discussion started by: beca123456
12 Replies
7. Shell Programming and Scripting
Can you search AWK array elements and return each index value for that element.
For example an array named car would have index make and element engine. I want to return all makes with engine size 1.6.
Array woulld look like this:
BMW 1.6
BMW 2.0
BMW 2.5
AUDI 1.8
AUDI 1.6
... (11 Replies)
Discussion started by: u20sr
11 Replies
8. UNIX for Dummies Questions & Answers
Hello,
May i please know how do i print the array using awk script. I am using below shell script to start with but not working.
#!/bin/bash
LOADSTATUS="Line 0"
LOADSTATUS="Line 1"
LOADSTATUS="Line 2"
LOADSTATUS="Line 3"
LOADSTATUS="Line 4"
awk '
BEGIN {
Your File Load Status
}... (1 Reply)
Discussion started by: Ariean
1 Replies
9. Shell Programming and Scripting
Hello everybody
I have a text file which has the following format:
nmm "text20140601.033954text" "text" "text"
"text" , ... , "text"
"text" , ... , Lat 36.3247 Lon 16.0588 Depth 8
"text", ... , "text"
"text", ..., CovXX 1.65 CovYY 2.32 CovZZ 1.2
"text" , ..., "text
nmm ... (6 Replies)
Discussion started by: phaethon
6 Replies
10. Shell Programming and Scripting
I am trying to reformat the table by filling any missing rows. The final table will have consecutive IDs in the first column. My problem is the index of the associate array in the awk script.
infile:
S01 36407 53706 88540
S02 69343 87098 87316
S03 50133 59721 107923... (4 Replies)
Discussion started by: yifangt
4 Replies
LEARN ABOUT PHP
get_defined_functions
GET_DEFINED_FUNCTIONS(3) 1 GET_DEFINED_FUNCTIONS(3)
get_defined_functions - Returns an array of all defined functions
SYNOPSIS
array get_defined_functions (void )
DESCRIPTION
Gets an array of all defined functions.
RETURN VALUES
Returns a multidimensional array containing a list of all defined functions, both built-in (internal) and user-defined. The internal func-
tions will be accessible via $arr["internal"], and the user defined ones using $arr["user"] (see example below).
EXAMPLES
Example #1
get_defined_functions(3) example
<?php
function myrow($id, $data)
{
return "<tr><th>$id</th><td>$data</td></tr>
";
}
$arr = get_defined_functions();
print_r($arr);
?>
The above example will output something similar to:
Array
(
[internal] => Array
(
[0] => zend_version
[1] => func_num_args
[2] => func_get_arg
[3] => func_get_args
[4] => strlen
[5] => strcmp
[6] => strncmp
...
[750] => bcscale
[751] => bccomp
)
[user] => Array
(
[0] => myrow
)
)
SEE ALSO
function_exists(3), get_defined_vars(3), get_defined_constants(3), get_declared_classes(3).
PHP Documentation Group GET_DEFINED_FUNCTIONS(3)