Sponsored Content
Top Forums Shell Programming and Scripting Convert CSV file (with double quoted strings) to pipe delimited file Post 302550547 by radoulov on Friday 26th of August 2011 05:10:51 AM
Old 08-26-2011
With GNU awk 4:

Code:
awk '{
  for (i = 0; ++i <= NF;) {
    if (substr($i, 1, 1) == "\"") {
      len = length($i)
      $i = substr($i, 2, len - 2)
      }
    printf "%s", ($i (i < NF ? OFS : RS))  
    }
  }' OFS=\| FPAT='([^,]+)|("[^"]+")' infile

With Perl:

Code:
perl -MText::ParseWords -nle'
  print join "|", parse_line(",",0, $_);
  ' infile

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to convert tab delimited file to .csv file

Hi, Can any one please help me in converting a tab delimited file in .csv file. Records in my file are similar to mentioned below: DET 001 0201 AC032508970 01478E1X8 DET 002 0202 AC032508971 01478E1X8 Could any one please suggest me what approach would be more suitable for this or if... (5 Replies)
Discussion started by: dtidke
5 Replies

2. Shell Programming and Scripting

convert a pipe delimited file to a':" delimited file

i have a file whose data is like this:: osr_pe_assign|-120|wg000d@att.com|4| osr_evt|-21|wg000d@att.com|4| pe_avail|-21|wg000d@att.com|4| osr_svt|-11|wg000d@att.com|4| pe_mop|-13|wg000d@att.com|4| instar_ready|-35|wg000d@att.com|4| nsdnet_ready|-90|wg000d@att.com|4|... (6 Replies)
Discussion started by: priyanka3006
6 Replies

3. Shell Programming and Scripting

How to convert a space delimited file into a pipe delimited file using shellscript?

Hi All, I have space delimited file similar to the one as shown below.. I need to convert it as a pipe delimited, the values inside the pipe delimited file should be as highlighted... AA ATIU2345098809 009697 005374 BB ATIU2345097809 005445 006518 CC ATIU9685098809 003215 003571 DD... (7 Replies)
Discussion started by: nithins007
7 Replies

4. Shell Programming and Scripting

Convert csv to pipe delimited except the ones in double quotes

I have a csv data file : A,B,C,D,"A,B",E,"GG,H" E,F,G,H,I,J,"S,P" I need to replace all "," with "|" except the ones between double quotes i.e A|B|C|D|"A,B"|E|"GG,H" E|F|G|H|I|J|"S,P" CAn someone assist? (8 Replies)
Discussion started by: Shivdatta
8 Replies

5. Shell Programming and Scripting

How to convert space&tab delimited file to CSV?

Hello, I have a text file with space and tab (mixed) delimited file and need to convert into CSV. # cat test.txt /dev/rmt/tsmmt32 HP Ultrium 6-SCSI J3LZ 50:03:08:c0:02:72:c0:b5 F00272C0B5 0/0/6/1/1.145.17.255.0.0.0 /dev/rmt/c102t0d0BEST /dev/rmt/tsmmt37 ... (6 Replies)
Discussion started by: prvnrk
6 Replies

6. Shell Programming and Scripting

Pivoting csv field from pipe delimited file

Hello All, Thanks for taking time to read through the thread and for providing any possible solution. I am trying to pivot a comma separated field in a pipe delimited file. Data looks something like this: Field1|Field2 123|345,567,789 234|563,560 345|975,098,985,397,984 456|736 Desired... (8 Replies)
Discussion started by: svks1985
8 Replies

7. UNIX for Dummies Questions & Answers

Need to convert a pipe delimited text file to tab delimited

Hi, I have a rquirement in unix as below . I have a text file with me seperated by | symbol and i need to generate a excel file through unix commands/script so that each value will go to each column. ex: Input Text file: 1|A|apple 2|B|bottle excel file to be generated as output as... (9 Replies)
Discussion started by: raja kakitapall
9 Replies

8. Shell Programming and Scripting

UNIX/PERL script to convert XML file to pipe delimited format

Hello, I need to get few values from a XML file and output needs to be written in another file with pipe delimited format. The Header & Footer of the Pipe Delimited file will be constant. The below is my sample XML file. I need to pull the values in between the XML tags <Operator_info to... (15 Replies)
Discussion started by: karthi1305561
15 Replies

9. Shell Programming and Scripting

Convert pipe demilited file to vertical tab delimited

Hi All, How can we convert pipe delimited ( or comma ) file to vertical tab (VT) delimited. Regards PK (4 Replies)
Discussion started by: prasson_ibm
4 Replies

10. Shell Programming and Scripting

Linux convert Comma delimited file to pipe

I have file in linux with comma delimited and string fields in double quotations ", I need to convert them to pipe delimiter please share your inputs. Example: Input: "2017-09-30","ACBD,TVF","01234",NULL,18,NULL,"686091802","BANK OF ABCD, LIMITED, THE",790456 Output: ... (4 Replies)
Discussion started by: shieksir
4 Replies
ao_string_tokenize(3)						Programmer's Manual					     ao_string_tokenize(3)

NAME
ao_string_tokenize - tokenize an input string SYNOPSIS
#include <your-opts.h> cc [...] -o outfile infile.c -lopts [...] token_list_t* ao_string_tokenize(char const* string); DESCRIPTION
This function will convert one input string into a list of strings. The list of strings is derived by separating the input based on white space separation. However, if the input contains either single or double quote characters, then the text after that character up to a matching quote will become the string in the list. The returned pointer should be deallocated with free(3C) when are done using the data. The data are placed in a single block of allocated memory. Do not deallocate individual token/strings. The structure pointed to will contain at least these two fields: tkn_ct The number of tokens found in the input string. tok_list An array of tkn_ct + 1 pointers to substring tokens, with the last pointer set to NULL. There are two types of quoted strings: single quoted (') and double quoted ("). Singly quoted strings are fairly raw in that escape char- acters () are simply another character, except when preceding the following characters: double backslashes reduce to one ' incorporates the single quote into the string 0fP suppresses both the backslash and newline character Double quote strings are formed according to the rules of string constants in ANSI-C programs. string string to be tokenized RETURN VALUE
pointer to a structure that lists each token ERRORS
NULL is returned and errno will be set to indicate the problem: EINVAL - There was an unterminated quoted string. ENOENT - The input string was empty. ENOMEM - There is not enough memory. @end itemize EXAMPLES
#include <stdlib.h> int ix; token_list_t* ptl = ao_string_tokenize( some_string ) for (ix = 0; ix < ptl->tkn_ct; ix++) do_something_with_tkn( ptl->tkn_list[ix] ); free( ptl ); Note that everything is freed with the one call to free(3C). SEE ALSO
The info documentation for the -lopts library. configFileLoad(3), optionFileLoad(3), optionFindNextValue(3), optionFindValue(3), optionFree(3), optionGetValue(3), optionLoadLine(3), optionNextValue(3), optionOnlyUsage(3), optionProcess(3), optionRestore(3), optionSaveFile(3), optionSaveState(3), optionUnloadNested(3), optionVersion(3), pathfind(3), strequate(3), streqvcmp(3), streqvmap(3), strneqvcmp(3), strtransform(3), 2010-07-05 ao_string_tokenize(3)
All times are GMT -4. The time now is 11:22 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy