how to find lenght of fixed width file record?


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users how to find lenght of fixed width file record?
# 1  
Old 10-04-2012
Question how to find lenght of fixed width file record?

actually i am trying to find the lenght of fixed width file record reading from teradata db but its not working can u guys help me out?

code which i wrote---

Code:
colmn_lngth=`cat $RPT_FILE | awk -F~ '{print $1}'`
 
 rm $RPT_FILE
 
 
 while read line
 do
 
  result=`echo $line | wc -m`
  result=`expr $result - 1`
    
   if [ $result -le $colmn_lngth ]; then
        echo $line >> $Src_File.temp
   else
       echo $line >> $Src_File.bad
   fi
 done < $Src_File


but in file if record is having spaces in between then its not counting tht spaces so it is creating wrong validation.
and writing tht record in to file also its not going properly ....plzs guys can any help out with this issue.plzs

Last edited by Scott; 10-04-2012 at 10:55 AM.. Reason: Code tags
# 2  
Old 10-04-2012
is this fix width right..?

try
Code:
awk '{ print (length($0))}' file

if it is same for all the rows..
use..
Code:
awk 'END{ print (length($0))}' file

# 3  
Old 10-04-2012
'fixed width records' does not necessarily mean carriage control ("\n") at the end of a line. It just means the data are laid out in a fixed pattern, probably with no character to mark then end of the line. If it is a fixed record length file with carriage control, then just read the very first line.
Code:
awk '{print length($0); exit}' infile

Without carriage control you will have a much harder time finding the record length, generally you need to get that information from a source external to the file: file metadata, specifications, someone who knows.
# 4  
Old 10-04-2012
Code:
echo 123123123 | read var
echo ${#var}
9

# 5  
Old 10-05-2012
actually wht ever command which i gave is working in intractive mode but when i run d program it removing spaces in record and returning d record count d same while writing in to file.
thaxz fr reply in advance.

---------- Post updated at 10:51 AM ---------- Previous update was at 08:55 AM ----------

can any give me code fr d below
Actually i am reading a record from teradata db table i.e, fixed width with spaces in between, now i want to find good record from tht file according to record length if length is more than the fixed width file length then it will remove tht error record to new file from base file. we will give file as parameter. Plzs help out in this
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Alter Fixed Width File

Thank u so much .Its working fine as expected. ---------- Post updated at 03:41 PM ---------- Previous update was at 01:46 PM ---------- I need one more help. I have another file(fixed length) that will get negative value (ex:-00000000003000) in postion (98 - 112) then i have to... (6 Replies)
Discussion started by: vinus
6 Replies

2. UNIX for Dummies Questions & Answers

Length of a fixed width file

I have a fixed width file of length 53. when is try to get the lengh of the record of that file i get 2 different answers. awk '{print length;exit}' <File_name> The above code gives me length 50. wc -L <File_name> The above code gives me length 53. Please clarify on... (2 Replies)
Discussion started by: Amrutha24
2 Replies

3. Shell Programming and Scripting

Comparing two fixed width file

Hi Guys I am checking the treads to get the answer but i am not able to get the answer for my question. I have two files. First file is a pattern file and the second file is the file i want to search in it. Output will be the lines from file2. File1: P2797f12af 44751228... (10 Replies)
Discussion started by: anshul_er
10 Replies

4. Shell Programming and Scripting

Fixed-Width file from Oracle

Hi All, I have created a script which generates FIXED-WIDTH file by executing Oracle query. SELECT RPAD(NVL(col1,CHR(9)),20)||NVL(col2,CHR(9))||NVL(col3,CHR(9) FROM XYZ It generates the data file with proper alignment. But if same file i transfer to windows server or Mainframe... (5 Replies)
Discussion started by: Amit.Sagpariya
5 Replies

5. Shell Programming and Scripting

Removing \n within a fixed width record

I am trying to remove a line feed (\n) within a fixed width record. I tried the tr -d ‘\n' command, but it also removes the record delimiter. Is there a way to remove the line feed without removing the record delimiter? (10 Replies)
Discussion started by: CKT_newbie88
10 Replies

6. 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

7. UNIX Desktop Questions & Answers

Help with Fixed width File Parsing

I am trying to parse a Fixed width file with data as below. I am trying to assign column values from each record to variables. When I parse the data, the spaces in all coumns are dropped. I would like to retain the spaces as part of the dat stored in the variables. Any help is appreciated. I... (4 Replies)
Discussion started by: sate911
4 Replies

8. Shell Programming and Scripting

Can we convert a '|' file into a fixed lenght???

Hi All, I have a pipe separated flat file.But there is often some problem with the records.So is it possible to convert the '|' separated file into a fixed length file by means of some script. The file has 11 columns which means 10 pipes.Your help is appreciated. i'm using Sun OS Version... (2 Replies)
Discussion started by: kumarsaravana_s
2 Replies

9. Shell Programming and Scripting

How to insert a record in fixed width flatfile

I have a fixed width flatfile with 5 columns, i will load file from oracle database to the flatfile for every 15 min at the end of the file, i want to insert a record by calling a shell script for inserting a record. please can any one help me. Thanks. (1 Reply)
Discussion started by: limou
1 Replies

10. UNIX for Dummies Questions & Answers

Fixed Width file using AWK

I am using the following command at the Unix prompt to make my 'infile' into a fixed width file of 100 characters. awk '{printf "%-100s\n",$0}' infile > outfile However, there are some records with a special character "©" These records are using 3 characters in place of one and my record... (2 Replies)
Discussion started by: alok.benjwal
2 Replies
Login or Register to Ask a Question