Visit Our UNIX and Linux User Community


Need awk script to compare 2 fields in fixed length file.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Need awk script to compare 2 fields in fixed length file.
# 1  
Old 08-25-2009
Need awk script to compare 2 fields in fixed length file.

Need a script that manipulates a fixed length file that will compare 2 fields in that file and if they are equal write that line to a new file.

i.e. If fields 87-93 = fields 119-125, then write the entire line to a new file. Do this for every line in the file. After we get only the fields that have duplicates in a separate file, take that file and look in field 83, if it equals 66 or 88 then delete that line and save to a new file.

I would prefer not to do this in Perl, not many people in this office use or understand Perl. The files format is something like this:

Code:
6ZDA90603C5559518898683765109438327630000100000002132P008377612{22004020AZ 07332  195572A2008101645781015365999999SWZSHINABFMN                              PZTENNBD                    F                                  281808023Z19721202  365944281 00354299505F85323          CC0501AB            000900000000{  7242                                            2001A{{0000002132P00000000{0000000000{0000002132P0000000000{0000000000{0000000000{3{2004622008110109WC0725200810170830009031                                                       2008110320081103O001200401062004010699245                   00{00000000{00002132P00000000{NW0000{00000000{C00002132PA1                       AZ 270036484A01785306    207L00000XY1270036484    22O3R03MO   BZ 108  V       00                  0   E 03O00105
8WGB90603C000951889962167553050300000007900000234481K000000000{22007078AZ 97698  14084052008103120081024601502995SAZPERRY                              FRGWQFTY                                                     000066760S19760301  112321919400735900702F85613    F     AH0301AA            000800000000{  7244                                            2003A{{0000007854E00000000{0000007350{0000002607E0000000000{0000000000{0000000000{1A2004622008110109WC0725200811030860785028                                                       2007032176431103I00120040422200404229590059                 00D00002840{00000534E00000000{NW0000{00000000{B00000534E42                       AZ 860566486L00285635    2084N0400XY1             11O1A05ZZ   BZ 108WCW       00                  1 01E   O04113
6MDA90603C000951889962120083050300000007900000234481K000000000{22007078AZ 97698  14084053467103120081024601502995SAZPERRY                              MAINE                                                     785633760S19760301  112321919400735900702F85613    F     AH0301AA            000800000000{  7244                                            1822A{{0000002607E00000000{0022007350{0000002607E0468300000{0000000000{0000000000{1A2004622008110109WC0725200811030860785028                                                       2007032112541103I002200404222004042295904                   00D99992680{00001703{00000000{NW0000{67800000{B00001703{42                       AZ 860566486L00285635    2084N0400XY1             11O1A05ME   BZ 108WCW       00                  1 01E   O04013


Last edited by vgersh99; 08-25-2009 at 06:12 PM.. Reason: code tags, PLEASE!
# 2  
Old 08-25-2009
To keep the forums high quality for all users, please take the time to format your posts correctly.

First of all, use Code Tags when you post any code or data samples so others can easily read your code. You can easily do this by highlighting your code and then clicking on the # in the editing menu. (You can also type code tags [code] and [/code] by hand.)

Second, avoid adding color or different fonts and font size to your posts. Selective use of color to highlight a single word or phrase can be useful at times, but using color, in general, makes the forums harder to read, especially bright colors like red.

Third, be careful when you cut-and-paste, edit any odd characters and make sure all links are working property.

Thank You.

The UNIX and Linux Forums

---------- Post updated at 05:18 PM ---------- Previous update was at 05:12 PM ----------

something to start with:
Code:
nawk 'substr($0,87,93-87+1) == substr($0, 119, 125-119+1)' myFile

This User Gave Thanks to vgersh99 For This Post:

Previous Thread | Next Thread
Test Your Knowledge in Computers #247
Difficulty: Easy
By 1973, the File Transfer Protocol (FTP) specification had been defined (RFC 354) and implemented, enabling file transfers over the ARPANET.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Splitting the file based on two fields - Fixed length file

Hi , I am having a scenario where I need to split the file based on two field values. The file is a fixed length file. ex: AA0998703000000000000190510095350019500010005101980301 K 0998703000000000000190510095351019500020005101480 ... (4 Replies)
Discussion started by: saj
4 Replies

2. Shell Programming and Scripting

Fixed Length file from a SQL script

Hi, I have a DB2 UDB 9.7 SQL script, as follows: I need to pass the script into Unix and generate a fixed length file from this. Can someone kindly provide a script to achieve it? SELECT CAST(COALESCE(CL_ID,'000000000') AS CHAR(9)) AS CL_ID ,STATUS... (5 Replies)
Discussion started by: ebsus
5 Replies

3. Shell Programming and Scripting

Splitting fixed length file using awk

Hi, I need to split a fixed length file of 160 characters based on value of a column. Example: ABC 456780001 DGDG SDFSF BCD 444440002 SSSS TTTTT ABC 777750003 HHHH UUUUU THH 888880001 FFFF LLLLLL HHH 999990002 GGGG OOOOO I need to split this file on basis of column from... (7 Replies)
Discussion started by: Neelkanth
7 Replies

4. Shell Programming and Scripting

awk to print fixed length columns to right side

Hi, I am in a situation to print the message on a column, where the each line starting position should be same. For example code: HOSTNAME1="1.2.3.4.5.6.7" TARGET_DIR="/tmp" echo "HOSTNAME1:" "$HOSTNAME1" | awk -v var="Everyone" '{len=55-length;printf("%s%*s\n",$0,len,var)}' echo... (4 Replies)
Discussion started by: tprabhaker
4 Replies

5. Shell Programming and Scripting

Fixed length fields

HPUX and posix shell Hi all. I have a record with fixed length fields....I would like to reorder the fields and preserver the fixed lengths.... cat test 4 960025460 Dept of Music 8 960025248 Dept of Music 12-08 cat... (3 Replies)
Discussion started by: lyoncc
3 Replies

6. UNIX for Dummies Questions & Answers

Convert a tab delimited/variable length file to fixed length file

Hi, all. I need to convert a file tab delimited/variable length file in AIX to a fixed lenght file delimited by spaces. This is the input file: 10200002<tab>US$ COM<tab>16/12/2008<tab>2,3775<tab>2,3783 19300978<tab>EURO<tab>16/12/2008<tab>3,28523<tab>3,28657 And this is the expected... (2 Replies)
Discussion started by: Everton_Silveir
2 Replies

7. UNIX for Dummies Questions & Answers

What the command to find out the record length of a fixed length file?

I want to find out the record length of a fixed length file? I forgot the command. Any body know? (9 Replies)
Discussion started by: tranq01
9 Replies

8. Shell Programming and Scripting

Awk - Working with fixed length files

OK I am somewhat new to UNIX programming please see what you can do to help. I have a flat file that is a fixed length file containing different records based on the 1st character of each line. The 1st number at the beginning of the line is the record number, in this case it's record #1. I... (3 Replies)
Discussion started by: ambroze
3 Replies

9. Shell Programming and Scripting

Awk with fixed length files

Hi Unix Champs, I want to awk on a fixed length file. Instead if the file was a delimited file, then I could have used -F and then could have easily done manipulation on the fields. How do i do the same in case of fixed length file? Thanks in Advance. Regards. (7 Replies)
Discussion started by: c2b2
7 Replies

10. Shell Programming and Scripting

fixed length fields in awk

I am trying to display df -h command out in proper format, how can I display each field of each record in a fixed length. (2 Replies)
Discussion started by: roopla
2 Replies

Featured Tech Videos