Length validation

I am using below code to find the length of first column additionally I want the complete row which length is greater than 12.at the end I want the rows where first column data length is greater than 12.

Just it should validate and highlight the rows where length(first column) is greater than 12.

Example:

12354687999999999�abc,98874556
12345�def,9887455
78945612,tyuh,5698742

Output should be:

Length Error-12354687999999999�abc,98874556
for i in `cat src_SPS_d_Loan_Level_File_20130515_001.dat | awk -F� '{print length($1)}'`
do
  if [ $i -ge 12 ]
  then
    echo ServicerID have higher precision
  else
 echo ServicerID have lesser precision
  fi
done

try..

 
awk -F"," '{if(length($1)>12){print "Service ID have higher precision"}else{print "Service ID have lesser precision"}}' filename

i think above code will just print higher precision or lesser precision,i need a complete row which has higher precision.

then try

 
awk -F"," '{if(length($1)>12){print "Row: $0\nService ID have higher precision"}else{print "Row:$0\nService ID have lesser precision"}}' filename

Alter this as per your req its very easy :slight_smile:

Wheni run above command,i am getting result as below.i am not getting row.

  
Row:$0
Service ID have lesser precision
Row:$0
Service ID have lesser precision
Row:$0
Service ID have lesser precision
Row:$0
Service ID have lesser precision
Row:$0
Service ID have lesser precision
Row:$0
Service ID have lesser precision
Row:$0
Service ID have lesser precision
Row:$0
Service ID have lesser precision
Row:$0
Service ID have lesser precision
Row:$0
Service ID have lesser precision

Use below just modified.

awk -F"," '{if(length($1)>12){print "Row:" $0 "\nService ID have higher precision"}else{print "Row:" $0 "\nService ID have lesser precision"}}' filename