Try REXX: (I've used REXX for various things for over 20 years (Linux, Windows & Mainframe) Download Regina REXX http://regina-rexx.sourceforge.net/ Sample program and files: #!/usr/bin/rexx /* */ DO FOREVER recin = LINEIN('NameAddress.txt') IF recin = "" THEN EXIT /* ***** convert all to upper case ***** */ UPPER recin /* ***** breakdown by fields ***** */ name = SUBSTR(recin,1,20) address = SUBSTR(recin,21,20) city = SUBSTR(recin,41,20) state = SUBSTR(recin,61,10) zip = SUBSTR(recin,71,20) /* ***** convert name to last name, first name ***** */ name = word(name,2)||", "||word(name,1) /* ***** convert city state zip to mailing format ***** */ csz = word(city,1)||", "||word(state,1)||" "||word(zip,1) /* ***** build output record ***** */ recout = "" recout = OVERLAY(name,recout,1,20) recout = OVERLAY(address,recout,21,20) recout = OVERLAY(csz,recout,41,40) call LINEOUT 'converted.txt', recout END /* DO */ EXIT ----- input file ----- Duaine Hechler 1013 Justice Ct. Florissant MO 63034 Kevin Hechler 1023 Justice Ct. Hazelwood MO 63034 Tom Cruise 1033 Justice Ct. Dellwood MO 63034 ----- output file ----- HECHLER, DUAINE 1013 JUSTICE CT. FLORISSANT, MO 63034 HECHLER, KEVIN 1023 JUSTICE CT. HAZELWOOD, MO 63034 CRUISE, TOM 1033 JUSTICE CT. DELLWOOD, MO 63034 -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org