No problem. Try this:
data _null_;
infile 'C:\Data.txt' recfm=n lrecl=1000000 eof=eof;
file 'C:\Datav2.txt' recfm=n lrecl=1000000;
input a $char1.;
if a ne '0D'x then put a $1.;
else do;
af=1;
input b $char1.;
if b ne '0A'x then put '0D'x b $1.;
else do;
bf=1;
input c $char1.;
if c ne '|' then put '0D0A'x c $1.;
else put '|';
end;
end;
return;
eof:
if af then put '0D'x;
if bf then put '0A'x;
run;
This program inputs only one character at a time and takes special action if that character could be part of a '0D0A7C'x string, always considering the possibility that the end of the .txt file is reached with one of the INPUT statements. Variables AF and BF are flags to remember that characters stored in A or B, respectively, still need to be written to the output file.
... View more