Need Help to delete carriage return and new line in csv file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Need Help to delete carriage return and new line in csv file
# 1  
Old 05-04-2015
Need Help to delete carriage return and new line in csv file

Hi All,

I have a problem loading the data from a csv file
As you see below in the Input ,For the Data starting with " there are 2 lines, which i want to make them into single without changing the format of that data.
You can see the desired output below:
While i try to open the csv file and see the could see the whole text in a single column, but when i try to see in edit plus only i see that data after "Order raised to credit back overpayment against order 0981/1571Q." is going to next line and im not able to load the data .

Header for the file has some 13 columns, im getting this problem with 9th column in the file

Input :
Code:
12345|477.5|C|123/1234|12345678|1234|1234/1234567|Emergency Lighting|"Order raised to credit back overpayment against order1233/12345.
Hi Abcd
 Could you please arrange credit for the above as follows £123
 The wrong quote was uploaded against this job but the correct works have been carried out.  If you need paperwork to confirm let me know and I will forward it on to you 
 Many thanks
 Kind Regards,
Abcdedfg
Admin & Invoicing Team Member
12345 567898"|ABCDEFGH|16/12/2014|1234|ABCD1010

Desired Output :

Code:
12345|477.5|C|123/1234|12345678|1234|1234/1234567|Emergency  Lighting|"Order raised to credit back overpayment against  order1233/12345.Hi AbcdCould you please arrange credit for the above as follows £123The  wrong quote was uploaded against this job but the correct works have  been carried out.  If you need paperwork to confirm let me know and I  will forward it on to you Many thanks
 Kind Regards,AbcdedfgAdmin & Invoicing Team Member12345 567898"|ABCDEFGH|16/12/2014|1234|ABCD1010


I want the system consider the text starting " to the text ending with " as a single line.

Could anyone please help me out with the solution for this.

Regards,
Lavanya.

Last edited by Scrutinizer; 05-04-2015 at 12:26 PM.. Reason: CODE tags
# 2  
Old 05-04-2015
The number of lines in the sample do not correspond to the number mentioned in the description . Could you please correct this, to avoid confusion?

Please do so while keeping the CODE tags that were inserted in place.
# 3  
Old 05-04-2015
Your data don't have carriage returns in them and, working on *nix, you should be grateful therefore.
For your problem, umpteen solutions have been discussed in these fora, an intense search might be worthwhile. For EXACTLY your problem and samples given above, try
Code:
awk '{while (!(NF%2)) {getline TMP; $0=$0 " " TMP}} 1' FS="\"" file

NO error checking is being done, and should you modify e.g. the data structure, it's highly probable to fail.
This User Gave Thanks to RudiC For This Post:
# 4  
Old 05-04-2015
Hi Scrutinizer,

The data which i have posted is actually a single row with 13 columns separated with pipe symbol(|)

I need the data with in double quotes to be considered as single column.
that is from Order raised to 12345 567898
As of now i see that line "Order raised to credit back overpayment against order1233/12345" is treated as 1 column and "Hi Abcd
Could you please arrange credit for the above as follows £123
The wrong quote was uploaded against this job but the correct works have been carried out. If you need paperwork to confirm let me know and I will forward it on to you
Many thanks
Kind Regards,
Abcdedfg
Admin & Invoicing Team Member
12345 567898Hi Abcd
Could you please arrange credit for the above as follows £123
The wrong quote was uploaded against this job but the correct works have been carried out. If you need paperwork to confirm let me know and I will forward it on to you
Many thanks
Kind Regards,
Abcdedfg
Admin & Invoicing Team Member
12345 567898"|ABCDEFGH|16/12/2014|1234|ABCD1010 is treated as next line

Input :
12345|477.5|C|123/1234|12345678|1234|1234/1234567|Emergency Lighting|"Order raised to credit back overpayment against order1233/12345. Hi Abcd Could you please arrange credit for the above as follows £123 The wrong quote was uploaded against this job but the correct works have been carried out. If you need paperwork to confirm let me know and I will forward it on to you Many thanks Kind Regards, Abcdedfg Admin & Invoicing Team Member 12345 567898"|ABCDEFGH|16/12/2014|1234|ABCD1010


Desired output:
12345|477.5|C|123/1234|12345678|1234|1234/1234567|Emergency Lighting|"Order raised to credit back overpayment against order1233/12345.Hi Abcd Could you please arrange credit for the above as follows £123 The wrong quote was uploaded against this job but the correct works have been carried out. If you need paperwork to confirm let me know and I will forward it on to you Many thanks Kind Regards, Abcdedfg Admin & Invoicing Team Member 12345 567898"|ABCDEFGH|16/12/2014|1234|ABCD1010



Please let me know if this is clear. Else please do let me know ..

Regards,
Lavanya.

---------- Post updated at 09:21 PM ---------- Previous update was at 09:19 PM ----------

Hi Rudic ,

Will try the same,

Thanks for your reply..

Regards,
Lavanya.
# 5  
Old 05-04-2015
Hi Lavanya, no this is not clear. Please use code tags (<- click here) for code and data, so that the input and output samples have fixed width fonts and the proper number of lines and it is also clear what is sample and what is description...
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Remove newlines and carriage return from a csv file using UNIX

I need to remove new lines and carriage returns from csv file. Is there anything other than sed and gwak by which we could achieve this ? Any suggestions ? (3 Replies)
Discussion started by: A_Gaddale
3 Replies

2. Shell Programming and Scripting

line carriage return characters

Hi, I would like to insert the line carriage retrun characters on each line. (2 Replies)
Discussion started by: koti_rama
2 Replies

3. Shell Programming and Scripting

Why sed command deletes last line in a file if no carriage return?

Hi I am using sed command to make SCORE=somevalue to SCORE=blank in a file. Please see the attached lastline.txt file. After executing the below command on the file, it removes the last line. cat lastline.txt | sed 's/SCORE=.*$/SCORE=/g' > newfile.txt Why does sed command remove the... (3 Replies)
Discussion started by: ashok.k
3 Replies

4. Shell Programming and Scripting

Need a carriage return at end of each line

Hi All, I am reading two files and writing out the file name and count of lines in each file to an output file. My script looks like this: echo "input_file1.out;`wc -l < input_file1.out | sed 's/^]*\(.*\)]*$/\1/'` " > comp_file1.out echo "input_file2.out;`wc -l < input_file2.out | sed... (2 Replies)
Discussion started by: Hangman2
2 Replies

5. Shell Programming and Scripting

Delete carriage return in SED

Hi everybody! I'm working in one script with sed, I have file with the next content: <voms.db.type value="changeme"/> <voms.db.host value="changeme"/> <voms.admin.smtp.host value="changeme"/> <voms.mysql.admin.password value="changeme"/> <glite.installer.verbose value="true"/> ... (3 Replies)
Discussion started by: juedsivi
3 Replies

6. UNIX for Dummies Questions & Answers

To remove carriage return between the line

Hi, I have a situation where I need to remove the carriage return between the lines. For.eg. The input file: 1,ad,"adc sdfd",edf 2,asd,"def fde",asd The output file should be 1,ad,adc sdfd,edf 2,asd,def fde,asd Thanks Shash (5 Replies)
Discussion started by: shash
5 Replies

7. Shell Programming and Scripting

How to delete carriage return in SED

Could someone tell me how to do the below without opening the file? (eg in sed or awk) I have a file with the contenst below: $ more file1.txt 10 AAA; 200 BBB; 3 CCC; I want to delete the carriage return of one line above the line which has ";" at the end to get the... (3 Replies)
Discussion started by: stevefox
3 Replies

8. Shell Programming and Scripting

How to insert carriage return before line feed?

I am doing some edi where translations had to be run on unix. Generally when I run the translations on windows, the output file has both carriage returns and line feed where as when ran on unix will have only line feed. I need to insert carriage return before the line feed. Is there some tool... (2 Replies)
Discussion started by: huey ing
2 Replies

9. Shell Programming and Scripting

Removing Carriage Return and or line feed from a file

Hello I'm trying to write a shell script which can remove a carriage return and/or line feed from a file, so the resulting file all ends up on one line. So, I begin with a file like this text in file!<CR> line two!<CR> line three!<CR> END!<CR> And I want to end up with a file... (1 Reply)
Discussion started by: tbone231
1 Replies

10. Shell Programming and Scripting

carriage return/line feeds

Hello, I have a file that has got carriage returns in it and I want to take them out. Anyone know how I can do this in a ksh? thanks (4 Replies)
Discussion started by: pitstop
4 Replies
Login or Register to Ask a Question