You should probably use the DSD option on the INFILE statement to make sure it handles missing values and quoted strings properly. You should also add the TRUNCOVER option just in case some of the lines do not contain all variables.
You should use the COMMA informat to read you values that contain commas and dollar signs.
Also is much easier if define your variables first before using them in the INPUT statement, rather than forcing SAS to guess how you want the variables defined based on how they are first referenced.
data work.new;
infile '/home/singhthesantosh0/San_fo/cars.csv' dsd dlm=',' firstobs=2 truncover;
length Make Model Type Origin DriveTrain $20 MSRP Invoice 8;
informat MSRP Invoice comma12. ;
input Make Model Type Origin DriveTrain MSRP Invoice;
run;
proc print data=work.new;
run;
... View more