Check for length which exceeds specified length in a line


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Check for length which exceeds specified length in a line
# 8  
Old 11-26-2012
Try sth like this.. adapting Rudic's sollution..

Code:
$ cat file
name, city, zipcode, state
checking,the, lengthof, string

$ awk -F, 'BEGIN {split("5,6,7,8",len,",");  OFS=","}
NR==1{split($0,P,",")}
NR>1{for (i=1; i<=NF; i++) if(length($i) > len[i]) {$i = substr($i,1,len[i]); arr=arr?arr" "P[i]:P[i]}
if (arr) {$(NF+1)=" Fields "arr" exceed the length."; arr=""}
}1' file

name, city, zipcode, state
check,the, length, string, Fields name  zipcode exceed the length.

This User Gave Thanks to pamu For This Post:
# 9  
Old 11-27-2012
Perfect ..thank you very much.This is exactly what I need. Smilie Can you please explain me this part of the code.

"arr=arr?arr" "P[i]:P[i]} "
# 10  
Old 11-27-2012
Quote:
Originally Posted by rashmisb
Can you please explain me this part of the code.

"arr=arr?arr" "P[i]:P[i]} "
arr=arr?arr" "P[i]:P[i] # Here we assign values to arr. First here it checks arr presents or not

arr? --> Is arr present? If present then do the true part else do the false part. see below.


Code:
arr?True:False

Assume at start arr="" so arr? is false because arr is not present. so it assing P[i] to arr.
Next time arr? is true so it appends " "P[i] to the arr.

And P[i] represents field name for that particular value


Hope this helps youSmilie

pamu
This User Gave Thanks to pamu For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

9 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

Array Length Reports as Having Length when it is Empty?

Hello All, I have this script that does stuff like "starting, stopping & restarting" a Daemon Process running on my machine... My main question is why in part of my code (which you will see below) does the Array Length (i.e. ${#PIDS} ) return "1" when I know the Array is empty..? Here is... (17 Replies)
Discussion started by: mrm5102
17 Replies

3. Shell Programming and Scripting

Flat file-make field length equal to header length

Hello Everyone, I am stuck with one issue while working on abstract flat file which i have to use as input and load data to table. Input Data- ------ ------------------------ ---- ----------------- WFI001 Xxxxxx Control Work Item A Number of Records ------ ------------------------... (5 Replies)
Discussion started by: sonali.s.more
5 Replies

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

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

include NULLs in line length check

Hello, I am checking the length of each line of a fixed length file and making sure all lines are 161 length. My problem is that some files contain null characters which gets stripped out of my echo. How do I have the NULLs included in my check? (and I cannot replace or sub the NULL values with... (10 Replies)
Discussion started by: ironmix
10 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. UNIX for Dummies Questions & Answers

Sed working on lines of small length and not large length

Hi , I have a peculiar case, where my sed command is working on a file which contains lines of small length. sed "s/XYZ:1/XYZ:3/g" abc.txt > xyz.txt when abc.txt contains lines of small length(currently around 80 chars) , this sed command is working fine. when abc.txt contains lines of... (3 Replies)
Discussion started by: thanuman
3 Replies

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