rleyba828
asked on
Need PERL or BASH script the can convert \[cr][lf] to [lf]
Hi Team,
Just need some assistance for a query that I have in the PHP section. -->
https://www.experts-exchange.com/questions/28336410/How-to-export-mostly-text-fields-from-mysql-to-CSV-and-import-to-MS-EXCEL-keeping-fields-aligned.html
I just want a way to do a global search and replace of every occurence of \[cr][lf] in a text file (i.e. the backslash character + carrier return character + line feed character) and convert it to [lf] (just the linefeed character by itself).
I'm sure this is just a one liner in perl...just can't get my head around this.
Thanks for all the help.
Just need some assistance for a query that I have in the PHP section. -->
https://www.experts-exchange.com/questions/28336410/How-to-export-mostly-text-fields-from-mysql-to-CSV-and-import-to-MS-EXCEL-keeping-fields-aligned.html
I just want a way to do a global search and replace of every occurence of \[cr][lf] in a text file (i.e. the backslash character + carrier return character + line feed character) and convert it to [lf] (just the linefeed character by itself).
I'm sure this is just a one liner in perl...just can't get my head around this.
Thanks for all the help.
tr -d '\r' < inputfile > outputfile
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Depending on your system
dos2unix file
dos2unix file
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
> But ... you are left with a file which has a mixture of lines ending CrLf and ending Lf. Is this really what you want?
True, but only if the input data contains a mixture of
\[CR][LF]
and just
[CR][LF]
as your sample has, Duncan.
What's the situation, rleyba828?
True, but only if the input data contains a mixture of
\[CR][LF]
and just
[CR][LF]
as your sample has, Duncan.
What's the situation, rleyba828?
Yes I assumed it originated from a DOS / Windows system so all lines would end CrLf
I expect they will, Duncan. I thought our question is, whether the CrLf will be preceeded by a '\', as only some of your sample input data lines are.
@tel2 - your sed script does the same as ozo's perl script. They both do exactly what was asked for. It just seemed slightly odd to me to do a selective dos2unix - but I was certainly assuming this was a regular Windows text file.
ASKER
Hi guys....the response of ozo worked best for me.
To answer Duncan's question, the mix of [cr][lf] and [lf] characters is how phpmyadmin exports a mysql table where fields in the text contain line returns. It is able to export properly such a file to a csv file which will load properly in excel. I found that simply doing a table dump from the mysql command line doesn't accomplish this....not sure why.
To answer Duncan's question, the mix of [cr][lf] and [lf] characters is how phpmyadmin exports a mysql table where fields in the text contain line returns. It is able to export properly such a file to a csv file which will load properly in excel. I found that simply doing a table dump from the mysql command line doesn't accomplish this....not sure why.
Hi rleyba828,
Glad you have a solution, but when you say the response of ozo worked best for you, did you try my sed solution? It should do exactly the same as ozo's Perl solution, but faster, as I indicated. You're running UNIX/Linux, right?
Glad you have a solution, but when you say the response of ozo worked best for you, did you try my sed solution? It should do exactly the same as ozo's Perl solution, but faster, as I indicated. You're running UNIX/Linux, right?