Sponsored Content
Top Forums Shell Programming and Scripting How to read a two files, line by line in UNIX script and how to assign shell variable to awk ..? Post 302880973 by veeruasu on Wednesday 25th of December 2013 10:29:07 AM
Old 12-25-2013
How to read a two files, line by line in UNIX script and how to assign shell variable to awk ..?

Input are file and file1

file contains
Code:
store.bal
product.bal
category.bal
admin.bal

file1 contains
Code:
flip.store.bal ::FFFF:BADC:CD28,::FFFF:558E:11C5,6,8,2,1,::FFFF:81C8:CA8B,::FFFF:BADC:CD28,1,0,0,0,::FFFF:81C8:11C5,2,1,0,0,::FFFF:81DC:3111,1,0,1,0
store.bal. ::FFFF:F9CC:C5B9,::FFFF:356F:73C3,4,8,7,6,::FFFF:93CC:C9CF,::FFFF:F9CC:C5B9,1,0,0,0,::FFFF:93CC:73C3,2,1,0,0,::FFFF:93CC:3371,1,0,1,0
es.product.bal. ::FFFF:F9CC:C5B9,::FFFF:356F:73C3,4,8,7,6,::FFFF:93CC:C9CF,::FFFF:F9CC:C5B9,1,0,0,0,::FFFF:93CC:73C3,2,1,0,0,::FFFF:93CC:3371,1,0,1,0
many.category.bal. ::FFFF:F9CC:C5B9,::FFFF:356F:73C3,4,8,7,6,::FFFF:93CC:C9CF,::FFFF:F9CC:C5B9,1,0,0,0,::FFFF:93CC:73C3,2,1,0,0,::FFFF:93CC:3371,1,0,1,0
comp.admin.bal. ::FFFF:732B:649F,::FFFF:23EB:6EB2,2,3,8,7,::FFFF:FE66:6367,::FFFF:732B:649F,1,0,0,0,::FFFF:FE66:6EB2,2,1,0,0,::FFFF:FE2B:FE61,1,0,1,0
admin.bal. ::FFFF:FB85:A1BE,::FFFF:BC64:B35B,9,1,5,9,::FFFF:E3A2:AB2F,::FFFF:FB85:A1BE,1,0,0,0,::FFFF:E3A2:B35B,2,1,0,0,::FFFF:E385:13B1,1,0,1,0

output
Code:
store.bal|8|54
product.bal|4|31
category.bal|4|31
admin.bal|8|56

in above code insted of each field replace with file ... presently code is reading only one filed for ex: store.bal
Code:
cat file1|awk '{split($1,dp,"."); lend=length(dp); if(lend>2) { dom=dp[lend-2]"."dp[lend-1]; 
split($2,ipl,","); for(i=1; i<=length(ipl); i++) 
{ if(ipl[i]~/:/) { 
if(ipl[i+1]~/:/) i++; rip=ipl[i]; i++; raq=ipl[i]; rtq=0; si=i+4; 
for(;i<si;i++) rtq+=ipl[i]; rsub=""; r32ip=""; 
if(rip ~ /^::FFFF:/) { r32ip=rip; rsub=substr(rip,8,7);
 } 
print tolower(dom)"|"rip"|"r32ip"|"rsub"|"raq"|"rtq; i--}} }
 }' |awk -F "|" '{if($1=="store.bal" && $4 != "") { cnt[$4]=1; cnt2[$3]++; qc+=$6; }}
................

if($1=="store.bal" && $4 != "") { cnt[$4]=1; cnt2[$3]++; qc+=$6; }} in this line, instead of store.bal ,need to call file having all 4 data i.e store.bal,procut.bal,caterogy.bal and admin.bal


Last edited by Scott; 12-25-2013 at 02:19 PM.. Reason: Use code tags, please...
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

shell script to read file line by line

Hi, I need to read a text file from shell script line by line and copy the feilds of each line. Below is the complete requirement. I've text file which contains ... pgm1 file11 file12 file13 pgm2 file21 file22 pgm3 file31 file32 file33 I'll give input as... (4 Replies)
Discussion started by: ani12345
4 Replies

2. Shell Programming and Scripting

assign awk's variable to shell script's variable?

Dear All, we have a command output which looks like : Total 200 queues in 30000 Kbytes and we're going to get "200" and "30000" for further process. currently, i'm using : numA=echo $OUTPUT | awk '{print $2}' numB=echo $OUTPUT | awk '{print $5}' my question is : can I use just one... (4 Replies)
Discussion started by: tiger2000
4 Replies

3. Shell Programming and Scripting

how can u read a file line by line in shell script ?

hello , plz help for below script req:- how can we read a file line by line in shell script ? (4 Replies)
Discussion started by: abhigrkist
4 Replies

4. Shell Programming and Scripting

Shell script to read a text file line by line & process it...

Hi , I am trying to write an shell, which reads a text file (from a location) having a list of numbers of strictly 5 digits only ex: 33144 Now my script will check : 1) that each entry is only 5 digits & numeric only, no alphabets, & its not empty. 2)then it executes a shell script called... (8 Replies)
Discussion started by: new_to_shell
8 Replies

5. Shell Programming and Scripting

Shell script to read multiple options from file, line by line

Hi all I have spent half a day trying to create a shell script which reads a configuration file on a line by line basis. The idea of the file is that each will contain server information, such as IP address and various port numbers. The line could also be blank (The file is user created). Here... (1 Reply)
Discussion started by: haggismn
1 Replies

6. Shell Programming and Scripting

HELP: Shell Script to read a Log file line by line and extract Info based on KEYWORDS matching

I have a LOG file which looks like this Import started at: Mon Jul 23 02:13:01 EDT 2012 Initialization completed in 2.146 seconds. -------------------------------------------------------------------------------- -- Import summary for Import item: PolicyInformation... (8 Replies)
Discussion started by: biztank
8 Replies

7. Shell Programming and Scripting

How to read a file, line by line in UNIX script?

#!/bin/bash file1="yxd" for file in `cat file3.txt`; do cat $file1 | awk '{split($1,dp,"."); lend=length(dp); if(lend>2) { dom=dp"."dp; split($2,ipl,","); for(i=1; i<=length(ipl); i++) { if(ipl~/:/) { if(ipl~/:/) i++; rip=ipl; i++; raq=ipl; rtq=0; si=i+4; for(;i<si;i++) rtq+=ipl; rsub="";... (2 Replies)
Discussion started by: veeruasu
2 Replies

8. Shell Programming and Scripting

Do While Loop + Read From File + assign line to a variable

Hello, I am using below code for reading from a file and assigning the values to a variable , but it is loosing the value after the loop , please suggest to retain the value of the variable after the loop , while IFS=: read -r line do set $dsc=$line echo 'printing line variable ' $line... (1 Reply)
Discussion started by: ParthThakkar
1 Replies

9. Shell Programming and Scripting

Shell script UNIX to read text file line by line

i have a text file as belows, it includes 2 columns, 1st is the column name, 2nd is the file_name data_file.txt column_name file_name col1 file1 col2 file2 col3 file1 col4 file1 col5 file2 now, i would like to... (4 Replies)
Discussion started by: tester111
4 Replies

10. UNIX for Beginners Questions & Answers

How can I assign awk's variable to shell script's variable?

I have the following script, and I want to assign the output ($10 and $5) from awk to N and L: grdinfo data.grd | awk '{print $10,$5}'| read N L output from gridinfo data.grd is: data.grd 50 100 41 82 -2796 6944 0.016 0.016 3001 2461. where N and L is suppose to be 3001 and 100. I use... (8 Replies)
Discussion started by: geomarine
8 Replies
DIFF3(1)						      General Commands Manual							  DIFF3(1)

NAME
diff3 - 3-way differential file comparison SYNOPSIS
diff3 [ -ex3 ] file1 file2 file3 DESCRIPTION
Diff3 compares three versions of a file, and publishes disagreeing ranges of text flagged with these codes: ==== all three files differ ====1 file1 is different ====2 file2 is different ====3 file3 is different The type of change suffered in converting a given range of a given file to some other is indicated in one of these ways: f : n1 a Text is to be appended after line number n1 in file f, where f = 1, 2, or 3. f : n1 , n2 c Text is to be changed in the range line n1 to line n2. If n1 = n2, the range may be abbreviated to n1. The original contents of the range follows immediately after a c indication. When the contents of two files are identical, the contents of the lower-numbered file is suppressed. Under the -e option, diff3 publishes a script for the editor ed that will incorporate into file1 all changes between file2 and file3, i.e. the changes that normally would be flagged ==== and ====3. Option -x (-3) produces a script to incorporate only changes flagged ==== (====3). The following command will apply the resulting script to `file1'. (cat script; echo '1,$p') | ed - file1 FILES
/tmp/d3????? /usr/lib/diff3 SEE ALSO
diff(1) BUGS
Text lines that consist of a single `.' will defeat -e. Files longer than 64K bytes won't work. DIFF3(1)
All times are GMT -4. The time now is 02:11 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy