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


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers What the command to find out the record length of a fixed length file?
# 1  
Old 10-09-2007
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?
# 2  
Old 10-09-2007
Code:
awk '{print length;exit}' filename

in shell (bash, zsh, ksh93):

Code:
<filename IFS= read;echo ${#REPLY}


Last edited by radoulov; 10-09-2007 at 03:36 PM.. Reason: IFS for shell version adjusted
# 3  
Old 10-09-2007
Thank you. that worked.
# 4  
Old 10-19-2007
Quote:
Originally Posted by tranq01
I want to find out the record length of a fixed length file? I forgot the command. Any body know?
You might also try:

Code:
wc -L filename

# 5  
Old 12-04-2008
Hi ,


how can we know the length of a field value if it is like below for xml file

<EmailAddress>abc@gmail.com</EmailAddress>

I need length of abc@gmail.com which is there in between tags

any help in this ...im doing this in korn shell

Last edited by naughty21; 12-04-2008 at 02:01 PM..
# 6  
Old 12-04-2008
Hammer & Screwdriver Here is an approach

Code:
> echo `echo "<EmailAddress>abc@gmail.com</EmailAddress>" | tr ">" "\n" | tr "<" "\n" | grep "@" | wc -c`
14

Note that I am off by one character as the echo gives a new-line.
Thus...

Code:
> echo `echo "<EmailAddress>abc@gmail.com</EmailAddress>" | tr ">" "\n" | tr "<" "\n" | grep "@" | wc -c` -1 | bc
13

or

Code:
> echo "<EmailAddress>abc@gmail.com</EmailAddress>" | tr ">" "\n" | tr "<" "\n" | grep "@" | tr -d "\n" | wc -c
13

# 7  
Old 12-04-2008
Quote:
Originally Posted by joeyg
Code:
> echo `echo "<EmailAddress>abc@gmail.com</EmailAddress>" | tr ">" "\n" | tr "<" "\n" | grep "@" | wc -c`
14

Note that I am off by one character as the echo gives a new-line.
Thus...

Code:
> echo `echo "<EmailAddress>abc@gmail.com</EmailAddress>" | tr ">" "\n" | tr "<" "\n" | grep "@" | wc -c` -1 | bc
13

or

Code:
> echo "<EmailAddress>abc@gmail.com</EmailAddress>" | tr ">" "\n" | tr "<" "\n" | grep "@" | tr -d "\n" | wc -c
13

thanks for your reply

but if we dont know what is there in between tags then how can we do means if we dont know/we didnt see the email id which is in between tags

for ex: EmailAddress>-------</EmailAddress>" in this ---- is nothing but some email id
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Convert variable length record to fixed length

Hi Team, I have an issue to split the file which is having special chracter(German Char) using awk command. I have a different length records in a file. I am separating the files based on the length using awk command. The command is working fine if the record is not having any... (7 Replies)
Discussion started by: Anthuvan
7 Replies

2. Shell Programming and Scripting

Add substring in a file containing fixed length record.

I am new to awk and writing a script using awk. I have file containing fixed length records, I wish to extract 2 substring(each substring is padded with zeros on left e.g 000000003623) and add each substring respectively for every record in the file to get total sum of respective substring for all... (5 Replies)
Discussion started by: Devesh5683
5 Replies

3. Shell Programming and Scripting

changing a variable length text to a fixed length

Hi, Can anyone help with a effective solution ? I need to change a variable length text field (between 1 - 18 characters) to a fixed length text of 18 characters with the unused portion, at the end, filled with spaces. The text field is actually field 10 of a .csv file however I could cut... (7 Replies)
Discussion started by: dc18
7 Replies

4. Shell Programming and Scripting

Using cut command in a fixed length file

Hi, I have a file which have set of rows and has to create separate files based on the id. Eg: 001_AHaris020 001_ATony030 002_AChris090 002_ASmit060 003_AJhon001 Output: I want three files like 001_A.txt, 002_A.txt and 003_A.txt. 001_A.txt should have ... (4 Replies)
Discussion started by: techmoris
4 Replies

5. Shell Programming and Scripting

Make variable length record a fixed length

Very, very new to unix scripting and have a unique situation. I have a file of records that contain 3 records types: (H)eader Records (D)etail Records (T)railer Records The Detail records are 82 bytes in length which is perfect. The Header and Trailer records sometimes are 82 bytes in... (3 Replies)
Discussion started by: jclanc8
3 Replies

6. Shell Programming and Scripting

awk to find the length of each record.

Hi Guys, I wanted to print the length of each record and the record itself. I tried the following awk ... awk 'a=length(); {print $a,$0}' file1 But it is giving me the records instead of length. and also, it giving me each record twice. Means the value of a is not the length of the... (0 Replies)
Discussion started by: mac4rfree
0 Replies

7. Shell Programming and Scripting

search and replace fixed length record file

Hi I need to be search a file of fixed length records and when I hit a particular record that match a search string, substitute a known position field In the example file below FHEAD000000000120090806143011 THEAD0000000002Y0000000012 P00000000000000001234 TTAIL0000000003... (0 Replies)
Discussion started by: nedkelly007
0 Replies

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

9. Shell Programming and Scripting

fixed record length

hello! I have a file with fixed record length... format: 123445asdfg 4343777 sfgg I wanna convert it to 123445,asdfg ,4343,777 ,sfgg is there any way to do it? sed/grep/awk?? at the moment I use sed -e 's_ \(\)_,\1_g' but it works only if there are spaces between... (16 Replies)
Discussion started by: george_
16 Replies

10. Shell Programming and Scripting

creating a fixed length output from a variable length input

Is there a command that sets a variable length? I have a input of a variable length field but my output for that field needs to be set to 32 char. Is there such a command? I am on a sun box running ksh Thanks (2 Replies)
Discussion started by: r1500
2 Replies
Login or Register to Ask a Question