merge

Commands ››
Parent Previous Next

The merge command merges together two or more input fields into a single field on output. It is useful for creating composite names from components, for example creating a person's full name from their forename and surname.


See also: split_char, printf, template



Flag

Req'd?

Description

-f fields

No

Specifies a comma-separated list of fields to merge together. If this flag is used, at least two fields must be specified. If the flag is omitted, all fields are merged into a single output field.

-s sep

No

Specifies the character(s) that will be used to separate the merged fields. Default is a single space. The following special characters can be used:


\t    replaced by tab

\n      replaced by new line

\r   replaced by carriage return

\\   replaced by single backslash


All other characters are treated literally.

-p position

No

Specifies the position at which the merged fields will be inserted in the output. By default, the position is that of the first field specified by the -f flag.

-k

No

If supplied, indicates that the fields that were merged should be retained in the output - the default is to remove them.



The following example merges the first two fields (forename and surname) of the names.csv file to produce a single name (using the -f flag) but retaining the original fields (using the -k flag). It then positions the single name at the end of the output rows, the fourth output field (using the -p flag):


csvfix merge -f 1,2 -k -p 4 data/names.csv


which produces:


"Charles","Dickens","M","Charles Dickens"

"Jane","Austen","F","Jane Austen"

"Herman","Melville","M","Herman Melville"

"Flann","O'Brien","M","Flann O'Brien"

"George","Elliot","F","George Elliot"

"Virginia","Woolf","F","Virginia Woolf"

"Oscar","Wilde","M","Oscar Wilde"



Created with the Personal Edition of HelpNDoc: Easily create HTML Help documents