Saving file content in arrays using AWK


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Saving file content in arrays using AWK
# 1  
Old 02-09-2011
Saving file content in arrays using AWK

Hi, im new to shell scripting. i have a query for which i have searched your forums but coulndt get what i need.

i have a file that has two records of exactly the same length and format and they are comma seperated. i need to save the first and the second columns of the input file to 2 different array variables, using AWK
i am using solaris10. input file is like below
Code:
001,a
002,b
003,c
004,d
005,e
006,f
007,g

i know its kinda simple just couldnt find a way outSmilie

Last edited by radoulov; 02-09-2011 at 05:13 AM..
# 2  
Old 02-09-2011
Something like this?
Code:
awk -F, '{arr1[++c]=$1; arr2[c]=$2} {# other code....}' file

# 3  
Old 02-09-2011
thanx franklin actually the thing that im working on is to, first, get the input from a file which contains a list first and last number of a range and is comma seperated (say inp.txt) and store them in arrays.
Code:
$ more inp.txt
923053400100,923053449989
923072600118,923072622197
923076470027,923076493135

Secondly, run a code(already designed) NR number of times in which it should start to process the first element of both arrays upto the last element of both arrays. i mean elements of both arrays are the 2 inputs for that code.

glad if u can help me in this your support is much appreciated

Last edited by radoulov; 02-09-2011 at 05:13 AM.. Reason: Code tags, please!
# 4  
Old 02-09-2011
Please include as many details as possible about the problems you encountered and your (already design) code.
# 5  
Old 02-09-2011
Requirement: To make a script that could extract a few numbers falling in a closed range from a dump file that has the complete list of numbers.
There should be two inputs to this script.
1. the dump file (complete list)
2. the file containing closed ranges (the one that i've mentioned in my previous post) [inp.txt]

Now the script should read from inp.txt and construct an array for the 1st field(start number of range) and another one for the 2nd field(last number of range) and search for this range of numbers from the dump.txt file(complete list of numbers). And save the numbers qualifying in the closed ranges into an output file.

I've made a code that will do the above mentioned searching. But the problem is that i need to feed in the start and end numbers of each range one by one. i want to modify my code upto the next level where it only asks for the file that contains the range lists and keeps running my code until all the records of the range file(inp.txt) have been processed

below is my code
Code:
echo Please input start of range
read min
echo Please input end of range
read max
echo Please input dump file
read file

nawk -v min=$min -v max=$max '$0 >= min && $0 <= max' "$file" >> out.txt

pls tell if there is anything more that u need. thanx
# 6  
Old 02-09-2011
Should be something like this:
Code:
awk -F, 'NR==FNR {arr1[++c]=$1; arr2[c]=$2}	# Fill arrays
{
  for(i=1;i<=c;i++) {		# Loop through arrays
    if($0 >= arr1[i] && $0 <= arr2[i]) {
      print
      break
    }
  }
}' inp.txt dumpfile > out.txt


Last edited by Franklin52; 02-09-2011 at 09:17 AM.. Reason: Adding )
# 7  
Old 02-09-2011
there was ) missing in your if statement. code is running fine after inserting it. but the out.txt is empty.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk command to get file content until 2 occurrence of pattern match

AWK command to get file content until 3 occurrence of pattern match, INPUT FILE: JMS_BODY_FIELD:JMSText = <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <custOptIn xmlns="http://com/walm/ta/cu/ccs/xml2"> <person>Romi</person> <appName>SAP</appName> </custOptIn> ... (4 Replies)
Discussion started by: prince1987
4 Replies

2. Shell Programming and Scripting

awk : split file and rename and save in path according to content

Hello, I'm using Windows 7 ; sed, awk and gnuwin32 are installed. I have a big text file I need to manipulate. In short, I will have to split it in thousands of short files, then rename and save in a folder which name is based upon filename. Here is a snippet of my big input.txt file (this... (4 Replies)
Discussion started by: sellig
4 Replies

3. Shell Programming and Scripting

Change a file content format using awk

Hi, i have a file input.txt Continent North America Country USA Capital Washington D.C. Country Canada Capital Ottawa Continent South America Country Argentina Capital Buenos Aires Country Brazil Capital Brasília Coutry Colombia Capital Bogotá and i want to get an output.txt ... (3 Replies)
Discussion started by: fastlane3000
3 Replies

4. Shell Programming and Scripting

awk saving field of first file into array

Hello guys, I just start trying out AWK and encounter a problem, I try to think a bit but seems my way is incorrect. I have two input file, with the first file has only one field, the second file has 3 fields, I suppose to do stuffs to them by writing an awk program, kinda sort them out. Since I... (15 Replies)
Discussion started by: RozenKristal
15 Replies

5. Shell Programming and Scripting

[ask]awk in csh to extract content from file

Please suggest a method (in c shell or any other shell) to implement following: -To read file1.txt (sample file1 given below) -To save name field in a variable <name> -To save parameter field in a variable <parameter> for ex. let a line in file1.txt be : bill height weight the extracted... (12 Replies)
Discussion started by: animesharma
12 Replies

6. Programming

question about int arrays and file pointer arrays

if i declare both but don't input any variables what values will the int array and file pointer array have on default, and if i want to reset any of the elements of both arrays to default, should i just set it to 0 or NULL or what? (1 Reply)
Discussion started by: omega666
1 Replies

7. Shell Programming and Scripting

Read a file content with awk and sed

Hello , I have huge file with below content. I need to read the numeric values with in the paranthesis after = sign. Please help me with awk and sed script for it. 11.10.2009 04:02:47 Customer login not found: identifier=(0748502889) prefix=(TEL) serviceCode=(). 11.10.2009 04:03:12... (13 Replies)
Discussion started by: rmv
13 Replies

8. Shell Programming and Scripting

Need help with awk - how to read a content of a file from every file from file list

Hi Experts. I need to list the file and the filename comes from the file ListOfFile.txt. Basicly I have a filename "ListOfFile.txt" and it contain Example of ListOfFile.txt /home/Dave/Program/Tran1.P /home/Dave/Program/Tran2.P /home/Dave/Program/Tran3.P /home/Dave/Program/Tran4.P... (7 Replies)
Discussion started by: tanit
7 Replies

9. Shell Programming and Scripting

saving values in file in an array in awk

hi i am trying to save values in a file in an array in awk..the file is as follows: 0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0, so far i have this: awk 'BEGIN {RS="\n";FS=","} { for(i=1;i<=NR;i++) { for(j=1;j<=NF;j++) { a=$j; } } (4 Replies)
Discussion started by: npatwardhan
4 Replies

10. Shell Programming and Scripting

Content extract of a file using awk

Hi Everyone, I have a file with the below content: File1.txt ====== ### ###==> the below table was created for testing1 purpose; ### create table 123 ( field1 date, field2 char(10) primary key(field1) ); ### ###==> the below table was created... (5 Replies)
Discussion started by: nr_shan
5 Replies
Login or Register to Ask a Question