Sponsored Content
Full Discussion: array on awk
Top Forums Shell Programming and Scripting array on awk Post 302214117 by anhtt on Saturday 12th of July 2008 02:43:47 AM
Old 07-12-2008
array on awk

I have a raw data file:
70,1,1,-53.25
70,1,1,,,,-57.50
70,1,1,,,,,,,,,,-48.00

I want to have a output file with the formatting below:
70,1,1,-53.25,,,,-57.50,,,,,-48.00


I mean if these rows have the first similar three variables which will be group into one row. And I try to write a awk script:

BEGIN { FS=",";}
{
for(i = 1; i <= NF; i++)
if ( i == NF ) {
arr[$i] = $NF
}
}
END{
for(i = 1; i <= 27; i++)
{
if (i in arr) { printf arr[i] ; printf "," ; }
else printf "," ;
}
}

but the result is not expected. I think the problem because the array "arr" cannot receive the any value. Which problem ?
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Array in awk

Hi, How can find Array is NULL or not. i wrote script using arrays but i want dislpy an message if arrary was Empty. pls help me on this. (2 Replies)
Discussion started by: koti_rama
2 Replies

2. Shell Programming and Scripting

Use of AWK as array

Dear Experts, I have a file containing text like below 123 456 789 012 345 I want to save each line in array. and print each array index as per my requirement. For Example array will print 456 array will print 012 Thanks for your Help. (14 Replies)
Discussion started by: Danish Shakil
14 Replies

3. Shell Programming and Scripting

AWK help. how to compare a variable with a data array in AWK?

Hi all, i have a data array as follows. array=ertfgj2345 array=456ttygkd . . . array=errdjt3235 so number or elements in the array can varies depending on how big the data input is. now i have a variable, and it is $1 (there are $2, $3 and so on, i am only interested in $1). ... (9 Replies)
Discussion started by: usustarr
9 Replies

4. Shell Programming and Scripting

array in awk

Hi I am trying to get data from an array and input it into awk. Please see below: ### #!/bin/bash #declare array declare -a ARRAY exec 10</path/to/arrayfile let count=0 while read LINE <&10; do ARRAY=$LINE ((count++)) done #close file exec 10>&- ENDLOOP=0 (10 Replies)
Discussion started by: rocket_dog
10 Replies

5. Shell Programming and Scripting

array in awk

hi, can somebody explain me this? probably i am overlooking something but i dont know what why is not printed "7 9 11" instead of this? $ echo "" | awk '{for(i=1;i<=3;i++){j=7;a=j;j=j+2;} print a,a,a; }' 7 7 7thanks (2 Replies)
Discussion started by: erik80
2 Replies

6. Shell Programming and Scripting

HELP with AWK one-liner. Need to employ an If condition inside AWK to check for array variable ?

Hello experts, I'm stuck with this script for three days now. Here's what i need. I need to split a large delimited (,) file into 2 files based on the value present in the last field. Samp: Something.csv bca,adc,asdf,123,12C bca,adc,asdf,123,13C def,adc,asdf,123,12A I need this split... (6 Replies)
Discussion started by: shell_boy23
6 Replies

7. Shell Programming and Scripting

Array from awk

I'm trying to get the output from awk into a bash array. Here is my script. #!/bin/bash while : do app=$( osascript -e "tell application \"System Events\" to return name of every process whose frontmost is true" ) echo "$app" if ava ]] then ps -ax | grep -v awk | pids=( $(awk... (5 Replies)
Discussion started by: nextyoyoma
5 Replies

8. Shell Programming and Scripting

How to Assign an shell array to awk array?

Hello All, Can you please help me with the below. #!/bin/bash ARR="No Differences In Stage Between HASH_TOTALS & HASH_TOTALS_COMP For UNINUM:0722075 PROVIDER:5 EXTRACT_DT:30-SEP-12 VER_NUM:1" ARR="No Differences In Stage Between HASH_TOTALS & HASH_TOTALS_COMP For UNINUM:0722075 PROVIDER:5... (14 Replies)
Discussion started by: Ariean
14 Replies

9. Shell Programming and Scripting

awk loop using array:wish to store array values from loop for use outside loop

Here's my code: awk -F '' 'NR==FNR { if (/time/ && $5>10) A=$2" "$3":"$4":"($5-01) else if (/time/ && $5<01) A=$2" "$3":"$4-01":"(59-$5) else if (/time/ && $5<=10) A=$2" "$3":"$4":0"($5-01) else if (/close/) { B=0 n1=n2; ... (2 Replies)
Discussion started by: klane
2 Replies

10. UNIX for Beginners Questions & Answers

awk array

Hello. I'm trying to figure out which one of these is not true about an awk array. -You do not need to formally declare an array; it is created automatically on first assignment -Array elements can only be addressed using an index ... (1 Reply)
Discussion started by: Eric7giants
1 Replies
pamdeinterlace(1)					      General Commands Manual						 pamdeinterlace(1)

NAME
pamdeinterlace - remove ever other row from a PAM/PNM image SYNOPSIS
pamdeinterlace [-takeodd] [-takeeven] N [infile] You can use the minimum unique abbreviation of the options. You can use two hyphens instead of one. You can separate an option name from its value with white space instead of an equals sign. DESCRIPTION
pamdeinterlace Removes all the even-numbered or odd-numbered rows from the input PNM or PAM image. Specify which with the -takeeven and -takeodd options. This can be useful if the image is a video capture from an interlaced video source. In that case, each row shows the subject 1/60 second before or after the two rows that surround it. If the subject is moving, this can detract from the quality of the image. Because the resulting image is half the height of the input image, you will then want to use pamstretch or pnmscale to restore it to its normal height: pamdeinterlace myimage.ppm | pamstretch -yscale=2 >newimage.ppm OPTIONS
-takeodd Take the odd-numbered rows from the input and put them in the output. The rows are numbered starting at zero, so the first row in the output is the second row from the input. You cannot specify both -takeeven and -takeodd. -takeeven Take the even-numbered rows from the input and put them in the output. The rows are numbered starting at zero, so the first row in the output is the first row from the input. This is the default. You cannot specify both -takeeven and -takeodd. SEE ALSO
pamstretch(1), pnmscale(1) 11 November 2001 pamdeinterlace(1)
All times are GMT -4. The time now is 06:49 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy