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
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
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
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
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
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
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
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
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
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
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
MOVE(7) SQL Commands MOVE(7)
NAME
MOVE - position a cursor on a specified row of a table
SYNOPSIS
MOVE [ direction ] [ count ]
{ IN | FROM } cursor
DESCRIPTION
MOVE allows a user to move cursor position a specified number of rows. MOVE works like the FETCH command, but only positions the cursor
and does not return rows.
Refer to FETCH [fetch(7)] for details on syntax and usage.
NOTES
MOVE is a PostgreSQL language extension.
Refer to FETCH [fetch(7)] for a description of valid arguments. Refer to DECLARE [declare(7)] to define a cursor. Refer to BEGIN
[begin(7)], COMMIT [commit(7)], and ROLLBACK [rollback(7)] for further information about transactions.
USAGE
Set up and use a cursor:
BEGIN WORK;
DECLARE liahona CURSOR FOR SELECT * FROM films;
-- Skip first 5 rows:
MOVE FORWARD 5 IN liahona;
MOVE
-- Fetch 6th row in the cursor liahona:
FETCH 1 IN liahona;
FETCH
code | title | did | date_prod | kind | len
-------+--------+-----+-----------+--------+-------
P_303 | 48 Hrs | 103 | 1982-10-22| Action | 01:37
(1 row)
-- close the cursor liahona and commit work:
CLOSE liahona;
COMMIT WORK;
COMPATIBILITY
SQL92
There is no SQL92 MOVE statement. Instead, SQL92 allows one to FETCH rows from an absolute cursor position, implicitly moving the cursor
to the correct position.
SQL - Language Statements 2002-11-22 MOVE(7)