split and making an array inside another array


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting split and making an array inside another array
# 1  
Old 08-06-2008
split and making an array inside another array

I want to run an awk split on a value that has been pushed through an array and I was wondering what the syntax should be??


e.g. running time strings through an array and trying to examine just minutes:

12:25:30
10:15:13
08:55:23
Code:
awk '                    
      NR==FNR{
             a[NR]=$0
             next
             }
             {
              for(i=1;i<NR;i++)
split($0,a[i],":"); print a[i][2]
}'

I guess I'm wondering how to format for the subsection?? (a[i])[2] ???

Smilie

edit also will this substring from the split come out of the slit function as a number? e.g. can I do math on it or will it be a 'word'? If its a word can I make it a number?

Last edited by jim mcnamara; 08-06-2008 at 11:02 AM.. Reason: code tags
# 2  
Old 08-06-2008
try this: setting a field separator.
Code:
awk -F: '{ a[FNR]=$1; b[FNR]=$2; c[FNR]=$3 }
            END{
            for(i in a) { hour+=a[i]}
            for(i in b) { min+=b[i]}
            for(i in c) { sec+=c[i]}
            printf "hours=%d min=%d sec=%d\", hour, min,sec)
            } ' inputfile

And yes, you can perform arithmetic as you see above.
# 3  
Old 08-06-2008
What exactly you want to do with the minutes?

Code:
% print '12:25:30
10:15:13
08:55:23'|awk 'END{for(m in _){split(m, t, ":");print t[2]+1}}{_[$0]}'
56
26
16

Or just:

Code:
% print '12:25:30
10:15:13
08:55:23'|awk -F: '$0=$2+1'
26
16
56

Awk does not support multidimensional arrays, you can simulate them.

Last edited by radoulov; 08-06-2008 at 11:13 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

Making an array of 2D arrays in C

I hate I'm asking for help again. Unfortunately it seems there just aren't any links I can find on making an array that holds a bunch of two dimensional arrays. Maybe my google-fu is lacking. Basically I have a header file like this: #define MATRIX 10 int white_l1; int white_l2; int... (2 Replies)
Discussion started by: Azrael
2 Replies

2. UNIX for Beginners Questions & Answers

How to split a string into array?

value=malayalam # i need to store the value in an array by splitting the character #the output i need is m a l a y a l a m Please use CODE tags for output data as well as required by forum rules! (5 Replies)
Discussion started by: Meeran Rizvi
5 Replies

3. UNIX for Dummies Questions & Answers

Array inside sed

Hi guys Let me at first describe the whole thing that I'm trying to do. Lets say I have 100 files like the following one. Ow 1230 16.000000 -0.834000 16.083957 1.751652398 -17.20094528 -4.450623277 Hw 1231 ... (6 Replies)
Discussion started by: saleheen
6 Replies

4. Shell Programming and Scripting

How to use variable inside array?

I tried to use variable inside an array variable, but its not working as expected.:wall: ENV1=123 ENV1=789 ENV1=120 ENV2=567 if then name=ENV1 echo "${name}" echo "${name}" echo "${name}" else name=ENV1 echo "${name}" fi Output: ./val.sh 1 123 (2 Replies)
Discussion started by: Jayavinoth
2 Replies

5. Shell Programming and Scripting

unique inside array

I have a file root@server # cat /root/list12 11.22.33.44 22.33.44.55 33.44.55.66 33.44.55.66 33.44.55.66 I try to pass to array and display unique. root@server# cat /root/test12.sh #!/bin/bash #delcare array badips and accumulate values to array elemenrs badips=( $( cat... (4 Replies)
Discussion started by: anil510
4 Replies

6. Shell Programming and Scripting

perl script :making array

Hi , i have a perl script which takes 'csv; file as input parameter and performs some tasks. CSV file format : MAGENTF,AGENTF8,mahfr001,tksfr01,. ./.profile 1>/dev/null 2>&1;ps -fe|grep 'gn1avm_agent -n AGENTF8'|grep gn1avm_agent|tr -s '' ''|cut -d ' ' -f 3|xargs kill -9,,. ./.profile... (3 Replies)
Discussion started by: deepakiniimt
3 Replies

7. Shell Programming and Scripting

Making array of string with bash

in.txt libgstreamer gstreamer-0_10 gstreamer-0_10-plugins-good gstreamer-0_10-plugins-base Output should be: libgstreamer gstreamer-0_10 gstreamer-0_10-plugins-good gstreamer0_10-plugins-base Then: #!/bin/sh v=(libgstreamer gstreamer-0_10 gstreamer-0_10-plugins-good... (5 Replies)
Discussion started by: cola
5 Replies

8. Shell Programming and Scripting

using array inside awk

Hi All, I have the following code sequence for reading some bulk file and moving the content to two different arrays. while read data do THREEG_PATTERN=`echo $data | egrep "3G"` if then NEW_THREEG_PATTERN=`echo $THREEG_PATTERN | cut -d " " -f2` ... (12 Replies)
Discussion started by: subin_bala
12 Replies

9. UNIX for Advanced & Expert Users

Array inside an array

hi All, I have a array as follows, array1=("xx" "abc" "def" "xyz") and each array1 is also storing some array values, like array1=abc and abc=("a" "b" "c") etcetera etcetra......... Note : each subarray under array1 have index 3 i.e. it can max contain 3 values if i echo ${abc} ... (5 Replies)
Discussion started by: manas_ranjan
5 Replies

10. Shell Programming and Scripting

looping a array inside inside ssh is not working, pls help

set -A arr a1 a2 a3 a4 # START ssh -xq $Server1 -l $Username /usr/bin/ksh <<-EOS integer j=0 for loop in ${arr} do printf "array - ${arr}\n" (( j = j + 1 )) j=`expr j+1` done EOS # END ========= this is not giving me correct output. I... (5 Replies)
Discussion started by: reldb
5 Replies
Login or Register to Ask a Question