Lookup value in file and Append new value at EOL


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Lookup value in file and Append new value at EOL
# 1  
Old 08-25-2008
Lookup value in file and Append new value at EOL

Hi All,

I am new to shell scripting but have successfully created some of my own scripts using awk and sed. However, I have come across a problem that I cannot solve on my own and have not been able to find a good example that relates to what I am trying to do.

What I need is for the kornshell to go line by line in a file and look at bytes 9-10.

If bytes 9-10 = "NY" for example, "NE* should be appended at the end of the line, bytes "20-22"
But if bytes "9-10" = "FL" then "SE*" should be appended at the end of the line, bytes "20-22"

Could anyone please help me with this?
I need this ASAP and just have not been able to find a good example

Thank you ver much in advance!
# 2  
Old 08-25-2008
Hammer & Screwdriver Here is one approach

input file
Code:
> cat input1
12345678NY123456789
12345678NY123456789
12345678NY123456789
12345678NY123456789
12345678FL123456789
12345678FL123456789
12345678NY123456789
12345678NY123456789
12345678FL123456789

script
Code:
> cat append_region 
rm input2
while read zf
   do
   state=$(echo "$zf" | cut -c9-10)
   case $state
     in
        NY) region="NE*" ;;
        FL) region="SE*" ;;
   esac
   echo "$zf""$region" >>input2
done<input1

output file
Code:
> cat input2
12345678NY123456789NE*
12345678NY123456789NE*
12345678NY123456789NE*
12345678NY123456789NE*
12345678FL123456789SE*
12345678FL123456789SE*
12345678NY123456789NE*
12345678NY123456789NE*
12345678FL123456789SE*

# 3  
Old 08-25-2008
Code:
awk '
substr($0,9,2)=="NY"{print $0 "NE*";next}
substr($0,9,2)=="FL"{print $0 "SE*";next}
{print}' file

If you get errors use nawk, gawk or /usr/xpg4/bin/awk on Solaris.

Regards
# 4  
Old 08-25-2008
Thank you very much to you both.....I will give this a shot now and see how this goes
# 5  
Old 08-25-2008
Please ignore this post I forgot to include done
Thanks for the help

Last edited by kixazz2529; 08-25-2008 at 02:51 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Lookup Within a file

A text file has two logs of same event & both logs have to be correlated into a single line before same can be processed further RAW OPERATING LOG Date Month Year Time Event 10 JAN 2014 1000 4 11 APR 2013 1230 2 12 FEB 2014 ... (7 Replies)
Discussion started by: newageBATMAN
7 Replies

2. OS X (Apple)

No eol in swap file

I was editing a file with vi and crashed so when I opened the file again I had the .swp file to deal with. I made the wrong choice trying to recover my file and wound up with a file with no eol (end of line) characters. I have forgotten the code to substitute and don't want to make an even... (2 Replies)
Discussion started by: gale
2 Replies

3. UNIX for Dummies Questions & Answers

Help with AWK - Compare a field in a file to lookup file and substitute if only a match

I have the below 2 files: 1) Third field from file1.txt should be compared to the first field of lookup.txt. 2) If match found then third field, file1.txt should be substituted with the second field from lookup.txt. 3)Else just print the line from file1.txt. File1.txt:... (4 Replies)
Discussion started by: venalla_shine
4 Replies

4. UNIX for Advanced & Expert Users

Clueless about how to lookup and reverse lookup IP addresses under a file!!.pls help

Write a quick shell snippet to find all of the IPV4 IP addresses in any and all of the files under /var/lib/output/*, ignoring whatever else may be in those files. Perform a reverse lookup on each, and format the output neatly, like "IP=192.168.0.1, ... (0 Replies)
Discussion started by: choco4202002
0 Replies

5. Shell Programming and Scripting

Lookup file

I have two files ,File1 lookup to file2 based on 1st&3rd against 1st and 2nd column and produce the following o/p File1 450000|USD|USD 450006|GKSGD|SGD 450002|XSGD|SGD File2 ----- 450000|USD|2000.00|10000.000 450006|SGD|1000.200|3000.000 450002|SGD|3000.000|20000.00 O/p ... (4 Replies)
Discussion started by: mohan705
4 Replies

6. Shell Programming and Scripting

Lookup on a file

Hi, I have the following requirement. I have one lookup file which contains 15 columns and 7000 records. Ex: 123,MEDICA,134,145,1178,123,678,345,2345,HP,COL,K12,SR,OX,78919 I have input file which contains 14 columns and 20 million records.Some times the record count is more... (4 Replies)
Discussion started by: ukatru
4 Replies

7. UNIX for Dummies Questions & Answers

Lookup with a file

Hi All, i have a variable which has a value in it. RETAILER='JEWL' i have a text file. Name: file.txt file.txt ________ WLG 150 JEWL 60 CVS 240 FLN 120 WND 120 I am trying to write a korn script.the script, based on the value in the RETAILER will do a look up against the... (5 Replies)
Discussion started by: pavan_test
5 Replies

8. Shell Programming and Scripting

how to know whether that file has eol or noeol before opening that file in VI editor

Hi, I want to check whether file has EOL or NOEOL before opening this file in VI editor. My file is very big its in terms of 15-20 MB. I am using ksh for this. When we opened the file in vi editor, normally at last line we are able to see whether this is eol or noeol file. But i does want... (1 Reply)
Discussion started by: HariRaju
1 Replies

9. Shell Programming and Scripting

Finding EOL char is there or not in a big size file

Hi, I am using ksh. I have to find wether data file has EOL or not. as per my knowledge we can easily find by checking each character. But this is a tedious job as per my requirement because my data file size is very big . It may be in 25-30 MB. So please advice me how i can check wether... (4 Replies)
Discussion started by: HariRaju
4 Replies

10. UNIX for Dummies Questions & Answers

file lookup

I need to do a text lookup for multiple records against a file that contains a key and two results. I found this code: str=`awk '$1 == search' search=$1 lkup.tbl It's a little tricky because the first $1 is the key variables location in the lkup.tbl and the second $1 is the parameter passed... (6 Replies)
Discussion started by: gillbates
6 Replies
Login or Register to Ask a Question