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