On Mon, 18 Feb 2013 04:34:31 -0600, Ed Morton <mortonspam@gmail.com> wrote: >Sounds like the Comma-Separated-Value (CSV) non-standard. Some vendors enclose >all fields in quotes, some only use quotes if fields contain commas (the field >separator character), some don't use quotes at all, some vendors escape quotes >with a backslash, some escape quotes with a second quote, some escape field >separators within fields with a backslash, etc., etc. GEDCOM doesn't use comma-separated values, it uses tags. Here's a sample: 0 HEAD 1 SOUR Legacy 2 VERS 7.4 2 NAME Legacy (R) 2 CORP Millennia Corp. 3 ADDR PO Box 9410 4 CONT Surprise, AZ 85374 1 DEST PAF4 1 DATE 31 May 2010 1 SUBM @S0@ 1 FILE G:\GedCom\Baldwin.ged 1 GEDC 2 VERS 5.5 2 FORM LINEAGE-LINKED 1 CHAR ANSEL 0 @S0@ SUBM 1 NAME Stephen Hayes 1 ADDR PO Box 7648 2 CONT Pretoria 2 CONT 0001 South Africa 1 PHON 012-333-6727 1 PHON 083-342-3563 1 _EMAIL shayes@dunelm.org.uk 1 _URL http://hayesfam.bravehost.com/famhist1.htm 0 @I4501@ INDI 1 NAME James /Growden/ 2 GIVN James 2 SURN Growden 2 _AKA J.A.B. /Growden/ 1 SEX M 1 BIRT 2 DATE 12 Jan 1837 2 PLAC Bodmin, Cornwall, England 2 NOTE @BI4501@ 1 CHR 2 DATE 29 Jan 1837 2 PLAC Bodmin, Cornwall, England 2 SOUR @S2265@ 3 PAGE p. 82, no 651 3 QUAY 3 1 DEAT Y 1 REFN 4501 1 CENS 2 DATE 1881 2 PLAC Lindsay, Ontario, Canada 2 SOUR @S2473@ 3 PAGE FHL Film 1375878 NAC C-13242 Dist 129 SubDist B Pag 4 CONC e 8 Family 35 3 QUAY 2 3 DATA 4 TEXT Extract: 1881 Canadian Census 5 CONT Census Place: Lindsay, Victoria South, Ontario 5 CONT Source: FHL Film 1375878 NAC C-13242 Dist 129 SubDis 5 CONC t B Page 8 Family 35 5 CONT Household: 5 CONT Sex Marr Age Origi 5 CONC n Birthplace 5 CONT James GROWDEN 5 CONT Male M 44 Englis 5 CONC h England 5 CONT Occ: Bricklayer Religio 5 CONC n: C. A Methodist 5 CONT Harriett GROWDEN 5 CONT Female M 42 Englis 5 CONC h O <Ontario> 5 CONT Religio 5 CONC n: C. A Methodist 5 CONT Harriet Anne GROWDEN 5 CONT Female 19 Englis 5 CONC h O <Ontario> 5 CONT Religio 5 CONC n: C. A Methodist 5 CONT Florence GROWDEN 5 CONT Female 17 Englis 5 CONC h O <Ontario> 5 CONT Occ: School Religio 5 CONC n: C. A Methodist 5 CONT Thomas GROWDEN 5 CONT Male 14 Englis 5 CONC h O <Ontario> 5 CONT Occ: School Religio 5 CONC n: C. A Methodist 5 CONT James GROWDEN 5 CONT Male 12 Englis 5 CONC h O <Ontario> 5 CONT Occ: School Religio 5 CONC n: C. A Methodist 5 CONT William GROWDEN 5 CONT Male 10 Englis 5 CONC h O <Ontario> 5 CONT Occ: School Religio 5 CONC n: C. A Methodist 5 CONT Frederick GROWDEN 5 CONT Male 7 Englis 5 CONC h O <Ontario> 5 CONT Occ: School Religio 5 CONC n: C. A Methodist 5 CONT Echel GROWDEN 5 CONT Female 4 Englis 5 CONC h O <Ontario> 5 CONT Religio 5 CONC n: C. A Methodist 5 CONT Charles GROWDEN 5 CONT Male 1 Englis 5 CONC h O <Ontario> 5 CONT Religio 5 CONC n: C. A Methodist 1 _UID E5B62B1DE1CA48E2BB85332189B054CAA3C1 1 CHAN 2 DATE 1 Jul 2009 3 TIME 10:27 1 FAMS @F4041@ 1 NOTE @NI4501@ 1 NOTE @HI4501@ 0 @NI4501@ NOTE 1 CONC Emigrated to Canada 1857. In the 1871 census of Lindsay, On 1 CONC tario he was listed as a bricklayer, aged 55, and a Wesleya 1 CONC n Methodist. 1 CONT 1 CONT He was listed as a bricklayer in the 1901 census of Lindsay 1 CONC , Ontario. 0 @HI4501@ NOTE 1 CONC (Research):Should be 44 in 1881 census, born Bodmin 0 @BI4501@ NOTE 1 CONC 1901 Canadian Census gives 12 Jan 1836 0 @I11601@ INDI 1 NAME Harriett A. /Baldwin/ 2 GIVN Harriett A. 2 SURN Baldwin 1 SEX F 1 BIRT 2 DATE 7 Jun 1839 2 PLAC Ontario, Canada 1 DEAT Y 1 REFN 11601 1 _UID 2CDEE118B2F74F66AB98F22ABCFB90FE05E6 1 FAMS @F4041@ 1 FAMC @F4040@ 0 @I11602@ INDI 1 NAME Harriet Anne /Growden/ 2 GIVN Harriet Anne 2 SURN Growden 1 SEX F 1 BIRT 2 DATE 14 Oct 1862 2 PLAC Ontario, Canada 1 DEAT Y 1 REFN 11602 1 _UID BA20B83B5AA042DDBEE355991814412F116D 1 CHAN 2 DATE 30 Jun 2009 3 TIME 07:48 1 FAMC @F4041@ 1 NOTE @NI11602@ 1 NOTE @HI11602@ 0 @NI11602@ NOTE 1 CONC Was unmarried, living aged 38, with parents at Lindsay, Ont 1 CONC ario in the 1901 census. In 1911 census aged 47, still unma 1 CONC rried, still living with parents. 0 @HI11602@ NOTE 1 CONC (Research):There was a Stella Hill, aged 15, listed as a gr 1 CONC anddaughter of James and Harriet, staying with them in 1901 1 CONC census, and a Stella Growden, probrably the same person, ag 1 CONC ed 27, in 1911. Could she have been an illegitimate daughte 1 CONC r of Harriet Anne Growden? 0 @I11603@ INDI 1 NAME Florence May /Growden/ 2 GIVN Florence May 2 SURN Growden 1 SEX F 1 BIRT 2 DATE 1864 2 PLAC Ontario, Canada 1 DEAT Y 1 REFN 11603 1 _UID 3BB7480C7D064A399C53D93222E9718E50E0 1 CHAN 2 DATE 3 Mar 2010 3 TIME 19:21 1 FAMS @F5070@ 1 FAMC @F4041@ 0 @I11604@ INDI 1 NAME Thomas H. /Growden/ 2 GIVN Thomas H. 2 SURN Growden 1 SEX M 1 BIRT 2 DATE 1867 2 PLAC Ontario, Canada 1 DEAT Y 1 REFN 11604 1 _UID A46CD02239104490BB98C35E55B4E032AE8C 1 CHAN 2 DATE 3 Mar 2010 3 TIME 19:21 1 FAMC @F4041@ 0 @I11605@ INDI 1 NAME James Edwin /Growden/ 2 GIVN James Edwin 2 SURN Growden 1 SEX M 1 BIRT 2 DATE 14 Feb 1870 2 PLAC Ontario, Canada 2 SOUR @S2587@ 3 PAGE http://tinyurl.com/mkxyte 3 QUAY 2 3 DATA 4 TEXT 13 65 Growden James E M Head M Feb 14 1870 5 CONT 31 page icon 5 CONT 5 CONT 14 65 Growden Eliziabth F Wife M Apr 1 1870 5 CONT 30 page icon 5 CONT 5 CONT 15 65 McCausland A F Mother-in-law W Jan 1 183 5 CONC 6 5 CONT 65 page icon 5 CONT 5 CONT 16 65 McCausland Margrat F Sister-in-law S De 5 CONC c 6 1875 5 CONT 25 page icon 1 DEAT Y 1 REFN 11605 1 _UID 084AF837271447B88AF6F48C7FEAFF234678 1 CHAN 2 DATE 30 Jun 2009 3 TIME 10:01 1 FAMS @F4678@ 1 FAMC @F4041@ 1 NOTE @NI11605@ 0 @NI11605@ NOTE 1 CONC In egg business at time of marriage. Living at 97 King Stre 1 CONC et at time of 1911 census 0 @I11606@ INDI 1 NAME William /Growden/ 2 GIVN William 2 SURN Growden 1 SEX M 1 BIRT 2 DATE 31 Oct 1867 2 PLAC Ontario, Canada 2 SOUR @S2587@ 3 PAGE http://tinyurl.com/mkxyte 3 QUAY 2 1 DEAT Y 1 REFN 11606 1 _UID E3DF30540E4442168D2476825820F5F6FC65 1 CHAN 2 DATE 1 Jul 2009 3 TIME 10:35 1 FAMC @F4041@ 1 NOTE @NI11606@ 0 @NI11606@ NOTE 1 CONC Was unmarried, living with parents, aged 33 in 1901 Canadia 1 CONC n census 0 @I11607@ INDI 1 NAME Frederick /Growden/ 2 GIVN Frederick 2 SURN Growden 1 SEX M 1 BIRT 2 DATE 1874 2 PLAC Ontario, Canada 1 DEAT Y 1 REFN 11607 1 _UID CA8BBD9BCB134FF8B96EB776A6CD6D7076C8 1 CHAN 2 DATE 3 Mar 2010 3 TIME 19:21 1 FAMS @F4748@ 1 FAMC @F4041@ 1 NOTE @NI11607@ 1 NOTE @HI11607@ 0 @NI11607@ NOTE 1 CONC Produce dealer of Lindsay, Ontario 0 @HI11607@ NOTE 1 CONC (Research): 1 CONT http://homepages.rootsweb.com/~maryc/vic96.htm 1 CONT 012514-96 (Victoria Co) Fred S. GROWDER, 24, produce dealer 1 CONC , Lindsay, same, s/o James GROWDER & Harriett BALDWIN, marr 1 CONC ied Mary FRAMPTON, 24, Isle of Wight, Lindsay, d/o Frederic 1 CONC k FRAMPTON & Lucy PRIDDICK, witn: J. INNIS & Nettie FRAMPT 1 CONC ON both of Lindsay on May 11, 1896 at Lindsay. (Growden? Cr 1 CONC owder?) 0 @I11608@ INDI 1 NAME Echel /Growden/ 2 GIVN Echel 2 SURN Growden 1 SEX F 1 BIRT 2 DATE 1877 2 PLAC Ontario, Canada 1 DEAT Y 1 REFN 11608 1 _UID 43A080DEA1B04141B8B00200A0B054A4C63D 1 CHAN 2 DATE 3 Mar 2010 3 TIME 19:21 1 FAMC @F4041@ 0 @I11609@ INDI 1 NAME Charles B. /Growden/ 2 GIVN Charles B. 2 SURN Growden 1 SEX M 1 BIRT 2 DATE 9 Jul 1879 2 PLAC Ontario, Canada 1 DEAT Y 1 REFN 11609 1 _UID A27525C93AA74F89BD5B6499D35B0AB7C2E4 1 CHAN 2 DATE 15 Nov 2009 3 TIME 04:27 1 FAMS @F4323@ 1 FAMC @F4041@ 1 NOTE @NI11609@ 1 NOTE @HI11609@ 0 @NI11609@ NOTE 1 CONC Was unmarried, aged 21, and living with parents at Lindsay 1 CONC , Ontario in 1901 census. 0 @HI11609@ NOTE 1 CONC (Research): 1 CONT http://homepages.rootsweb.com/~maryc/vic01.htm 1 CONT 016795-01 Charles GROWDEN, 22, Laborer, Lindsay, same, s/ 1 CONC o Jas. GROWDEN, & Harriet BALDWIN, married Harriet TIMMNS 1 CONC , 19, Lindsay, same, d/o Philip TIMMINS & Fanny GREENWAY. W 1 CONC itn: John WALKER & Rosa TIVIENS, both of Lindsay. Sept. 19 1 CONC , 1901, Lindsay 0 @I11610@ INDI 1 NAME Thomas /Baldwin/ 2 GIVN Thomas 2 SURN Baldwin 1 SEX M 1 REFN 11610 1 _UID 7EF02FA723704CEA82B41EE5854868DC5764 1 FAMS @F4040@ 0 @I11611@ INDI 1 NAME Eliza /Brown/ 2 GIVN Eliza 2 SURN Brown 1 SEX F 1 BIRT 2 DATE 20 May 1826 2 PLAC Ireland 2 SOUR @S2587@ 3 PAGE http://tinyurl.com/mkxyte 3 QUAY 1 3 NOTE Birthdate given as 20 May 1826, but age given as 65 2 NOTE @BI11611@ 1 DEAT Y 1 REFN 11611 1 _UID 0D67757A12494075AFC96A62AA096FDFB8E6 1 CHAN 2 DATE 30 Jun 2009 3 TIME 07:35 1 FAMS @F4040@ 1 NOTE @NI11611@ 0 @NI11611@ NOTE 1 CONC Emigrated to Canada 1830 0 @BI11611@ NOTE 1 CONC Birthdate given in 1901 census as 20 May 1826, but age give 1 CONC n as 65 0 @I12431@ INDI 1 NAME Harriet /Timmins/ 2 GIVN Harriet 2 SURN Timmins 1 SEX F 1 BIRT 2 DATE May 1883 2 PLAC Lindsay, Ontario, Canada 2 SOUR @S2588@ 3 PAGE http://tinyurl.com/ng5a8g 3 QUAY 2 1 DEAT Y 1 REFN 12431 1 _UID 2BC7DE9A7FFC4002801471E70A88BA41A0D3 1 CHAN 2 DATE 3 Mar 2010 3 TIME 19:21 1 FAMS @F4323@ 0 @I13445@ INDI 1 NAME Mary /Frampton/ 2 GIVN Mary 2 SURN Frampton 1 SEX F 1 REFN 13445 1 _UID BC8C4AD164F94B688F7F7A876E222B87C401 1 FAMS @F4748@ 0 @I13448@ INDI 1 NAME Fred /Growden/ 2 GIVN Fred 2 SURN Growden 1 SEX M 1 BIRT 2 DATE Apr 1902 2 PLAC Ontario, Canada 2 SOUR @S2588@ 3 PAGE http://tinyurl.com/ng5a8g 3 QUAY 2 1 REFN 13448 1 _UID 552C63A1DDF945EAAF8870E6ABB38EECEF91 1 CHAN 2 DATE 3 Mar 2010 3 TIME 19:21 1 FAMC @F4323@ 0 @I13449@ INDI 1 NAME James /Growden/ 2 GIVN James 2 SURN Growden 1 SEX M 1 BIRT 2 DATE Jun 1903 2 PLAC Ontario, Canada 2 SOUR @S2588@ 3 PAGE http://tinyurl.com/ng5a8g 3 QUAY 2 1 REFN 13449 1 _UID C94FBD6E4115443082E07042D0F365C40D29 1 CHAN 2 DATE 3 Mar 2010 3 TIME 19:21 1 FAMC @F4323@ 0 @I13450@ INDI 1 NAME Ethel /Growden/ 2 GIVN Ethel 2 SURN Growden 1 SEX F 1 BIRT 2 DATE Dec 1905 2 PLAC Ontario, Canada 2 SOUR @S2588@ 3 PAGE http://tinyurl.com/ng5a8g 3 QUAY 2 1 REFN 13450 1 _UID A7CF611853D9461BAC7FDFA900929A92EDD9 1 CHAN 2 DATE 3 Mar 2010 3 TIME 19:21 1 FAMS @F5068@ 1 FAMC @F4323@ 0 @I13451@ INDI 1 NAME Thomas /Growden/ 2 GIVN Thomas 2 SURN Growden 1 SEX M 1 BIRT 2 DATE May 1907 2 PLAC Ontario, Canada 2 SOUR @S2588@ 3 PAGE http://tinyurl.com/ng5a8g 3 QUAY 2 1 REFN 13451 1 _UID 7C14AA100C374541ADD205D69CD092C12C27 1 CHAN 2 DATE 3 Mar 2010 3 TIME 19:21 1 FAMC @F4323@ 0 @I13452@ INDI 1 NAME Elizabeth /McCausland/ 2 GIVN Elizabeth 2 SURN McCausland 1 SEX F 1 BIRT 2 DATE 1 Apr 1870 2 PLAC Ontario, Canada 2 SOUR @S2587@ 3 PAGE http://tinyurl.com/mkxyte 3 QUAY 2 1 DEAT Y 1 REFN 13452 1 _UID 41E0874919D246A5851B727749D2D91C604E 1 CHAN 2 DATE 30 Jun 2009 3 TIME 06:37 1 FAMS @F4678@ 0 @I13455@ INDI 1 NAME Marguerite Jean /Growden/ 2 GIVN Marguerite Jean 2 SURN Growden 1 SEX F 1 BIRT 2 DATE Aug 1902 2 PLAC Ontario, Canada 2 SOUR @S2588@ 1 DEAT Y 1 REFN 13455 1 _UID 3457841AA6514624AB9AC3A4CE532811900C 1 CHAN 2 DATE 3 Mar 2010 3 TIME 19:21 1 FAMS @F5069@ 1 FAMC @F4678@ 0 @I13456@ INDI 1 NAME Alice K. /Growden/ 2 GIVN Alice K. 2 SURN Growden 1 SEX F 1 BIRT 2 DATE Aug 1907 2 PLAC Ontario, Canada 1 DEAT Y 1 REFN 13456 1 _UID 9AF0BECB602E4ED98798F7B6CEA48B90210C 1 CHAN 2 DATE 3 Mar 2010 3 TIME 19:21 1 FAMC @F4678@ 0 @I14304@ INDI 1 NAME Richard Henry /Staples/ 2 GIVN Richard Henry 2 SURN Staples 1 SEX M 1 BIRT 2 DATE 1903 1 REFN 14304 1 _UID 1252DDAB3BF944B4B8FB0C696E218BDE3827 1 CHAN 2 DATE 3 Mar 2010 3 TIME 19:21 1 FAMS @F5068@ 0 @I14307@ INDI 1 NAME Joseph Brown /Briggs/ 2 GIVN Joseph Brown 2 SURN Briggs 1 SEX M 1 BIRT 2 DATE 1899 1 REFN 14307 1 _UID BF8297667373461088F5BEA5661C98F96D54 1 CHAN 2 DATE 3 Mar 2010 3 TIME 19:21 1 FAMS @F5069@ 0 @I14310@ INDI 1 NAME William /McKay/ 2 GIVN William 2 SURN McKay 1 SEX M 1 BIRT 2 DATE 1848 1 DEAT Y 1 REFN 14310 1 _UID 4BE3B6A3C3CE4CBC8D91015C12810798CD6C 1 CHAN 2 DATE 3 Mar 2010 3 TIME 19:21 1 FAMS @F5070@ 0 @F4040@ FAM 1 HUSB @I11610@ 1 WIFE @I11611@ 1 MARR 1 CHIL @I11601@ 1 CHAN 2 DATE 25 Apr 2005 3 TIME 14:26 0 @F4041@ FAM 1 HUSB @I4501@ 1 WIFE @I11601@ 1 MARR 1 CHIL @I11602@ 1 CHIL @I11603@ 1 CHIL @I11604@ 1 CHIL @I11606@ 1 CHIL @I11605@ 1 CHIL @I11607@ 1 CHIL @I11608@ 1 CHIL @I11609@ 1 CHAN 2 DATE 25 Apr 2005 3 TIME 16:13 0 @F4323@ FAM 1 HUSB @I11609@ 1 WIFE @I12431@ 1 MARR 2 DATE 19 Sep 1901 2 PLAC Lindsay, Ontario, Canada 1 CHIL @I13448@ 1 CHIL @I13449@ 1 CHIL @I13450@ 1 CHIL @I13451@ 1 CHAN 2 DATE 11 Feb 2006 3 TIME 14:56 0 @F4678@ FAM 1 HUSB @I11605@ 1 WIFE @I13452@ 1 MARR 2 DATE 22 Jun 1897 2 PLAC Ops, Ontario, Canada 2 SOUR @S2590@ 3 PAGE 14387-97 http://homepages.rootsweb.ancestry.com/~maryc/vic9 4 CONC 7.htm 3 QUAY 3 2 NOTE @NF4678@ 1 CHIL @I13455@ 1 CHIL @I13456@ 1 CHAN 2 DATE 30 Jun 2009 3 TIME 10:07 0 @NF4678@ NOTE 1 CONC 14387-97 James Edwin GROWDEN, 27, egg business, Lindsay, sa 1 CONC me, s/o James GROWDEN & Harriet Ann, married Elizabeth McCA 1 CONC USLAND, 27, Ops, same, d/o Robert McCAUSLAND, farmer, & Ann 1 CONC , witn: James McCAUSLAND & Florence HICKS, both of Ops, 2 1 CONC 2 June 1897 at Ops 0 @F4748@ FAM 1 HUSB @I11607@ 1 WIFE @I13445@ 1 MARR 2 DATE 11 May 1896 2 PLAC Lindsay, Ontario, Canada 1 CHAN 2 DATE 21 Dec 2009 3 TIME 11:07 0 @F5068@ FAM 1 HUSB @I14304@ 1 WIFE @I13450@ 1 MARR 1 CHAN 2 DATE 5 Dec 2009 3 TIME 15:00 0 @F5069@ FAM 1 HUSB @I14307@ 1 WIFE @I13455@ 1 MARR 1 CHAN 2 DATE 5 Dec 2009 3 TIME 15:01 0 @F5070@ FAM 1 HUSB @I14310@ 1 WIFE @I11603@ 1 MARR 1 CHAN 2 DATE 5 Dec 2009 3 TIME 15:03 0 _EVENT_DEFN Census 1 TYPE I 1 TITL Census 2 ABBR 1 ABBR 1 _SEN1 [HeShe] appeared on the [Desc] census [onDate] [inPlace].[Sources] [Notes] 1 _SEN2 [HeShe] appeared on the census [onDate].[Sources] [Notes] 1 _SEN3 [HeShe] appeared on the census [inPlace].[Sources] [Notes] 1 _SEN4 [HeShe] appeared on the [Desc] census.[Sources] [Notes] 1 _SEN5 [HeShe] appeared on the [Desc] census [onDate].[Sources] [Notes] 1 _SEN6 [HeShe] appeared on the [Desc] census [inPlace].[Sources] [Notes] 1 _SEN7 [HeShe] appeared on the census [onDate] [inPlace].[Sources] [Notes] 1 _SEN8 [HeShe] appeared on the census.[Sources] [Notes] 1 _DATE_TYPE 1 1 _PLACE_TYPE 1 1 _DESC_FLAG 1 1 _CONF_FLAG 1 0 @S2473@ SOUR 1 ABBR 1881 Census of Canada 1 TITL 1881 Census of Canada 1 REPO @R1804@ 1 _PAREN Y 0 @S2590@ SOUR 1 ABBR CAN, ONT - Marriage Records 1 TITL CAN, ONT - Marriage Records 1 _ITALIC Y 1 _PAREN Y 0 @S2587@ SOUR 1 ABBR CAN, ONT, Victoria, Lindsay - Census 1901 1 TITL 1901 Census of Lindsay, Victoria, Canada 1 PUBL http://tinyurl.com/mkxyte 1 _PAREN Y 0 @S2588@ SOUR 1 ABBR CAN, ONT, Victoria, Lindsay - Census 1911 1 TITL 1911 Census of Victoria-Haliburton, Ontario, Canada 1 _PAREN Y 0 @S2265@ SOUR 1 ABBR ENG, CON, Bodmin - Church Register 1 TITL Church Register 1 AUTH Church of St Petroc, Bodmin, Cornwall 1 PUBL Bodmin 1 REPO @R1926@ 2 CALN Film 1545322 1 _PAREN Y 0 @R1804@ REPO 1 NAME LDS Family History Library 1 ADDR LDS Family History Library 2 CONT 35 N West Temple Street 2 CONT Salt Lake City, Utah 84150 USA 0 @R1926@ REPO 1 NAME LDS Family History Centre 1 ADDR LDS Family History Centre 2 CONT Jubilee Road 2 CONT Parktown 2 CONT Johannesburg 0 TRLR -- Steve Hayes from Tshwane, South Africa Blog: http://khanya.wordpress.com E-mail - see web page, or parse: shayes at dunelm full stop org full stop uk
On Mon, 18 Feb 2013 03:21:06 -0600, Ed Morton <mortonspam@gmail.com> wrote: >On 2/17/2013 10:01 PM, Denis Beauregard wrote: >> On Sat, 16 Feb 2013 08:19:55 +0200, Steve Hayes >> <hayesstw@telkomsa.net> wrote in soc.genealogy.computing: >> >>> On Fri, 15 Feb 2013 18:48:58 -0600, Charlie Hoffpauir <invalid@invalid.com> >>> wrote: >>> >>>> If Legacy won't let you do the replacement in the given name field, >>>> then it gets more complicated, but still doable. In essence, you >>>> create the GEDCOM from Legacy with the names unchanged, then do the >>>> search/replace on the GEDCOM. The reason it's more difficult there is >>>> because then you have to write some sort of macro the do the >>>> replacement only on quote marks found in the name field. I did a few >>>> macros similar to that using Word to process the GEDCOMs generated by >>>> FTM back before RM wouldn't do the import directly. >> >> A less techie solution, but still using a GEDCOM file. >> >> Read your file with a spreadsheet (LibreOffice or Excel will do the >> job). Be sure to have all the file in ONE column. >> >> Add a column and enter numbers from 1 to the the number of lines in >> the file. In LibreOffice : Edit - Fill - Series >> >> Sort the file by the GEDCOM lines. >> >> Replace the fields you want to, as all the 1 NAME lines, for example, >> will be in a continuous group. >> >> Sort by line numbers to get the original order. >> >> Remove the column with line numbers. >> >> Save as GEDCOM. >> >> >> Denis >> > >If someone would like to post some small set of representative sample input and >expected output and describe the transformation you need, those of us at >comp.lang.awk who don't know and don't care what GEDCOM, Legacy, etc. are might >have something to contribute. Gedcom files are text file used to exchange data between different generalogy programs. There are also some programs that use GEDCOM as their primary format for storing data. Since AWK is a language for manipulating text files, I thought it might be possible to develop some AWK routiens for manipulating GEDCOM files -- in this case a the content of a single field. -- Steve Hayes from Tshwane, South Africa Blog: http://khanya.wordpress.com E-mail - see web page, or parse: shayes at dunelm full stop org full stop uk
On Mon, 18 Feb 2013 19:08:16 -0500, Dennis Lee Bieber <wlfraed@ix.netcom.com> wrote: >On Mon, 18 Feb 2013 10:44:39 -0500, Denis Beauregard ><denis.b-at-francogene.com@fr.invalid> declaimed the following in >soc.genealogy.computing: > > >> Some lines may have an ID as 2nd field, then a tag as 3rd field. >> This is common with level 0. >> >> 0 @I1@ INDI >> 1 NAME Bernard /Landry/ >> 2 GIVN Bernard >> 2 SURN Landry >> 1 SEX M >> 1 BIRT >> 2 DATE 9 MAR 1937 >> 2 PLAC St-Jacques >> 0 @I2@ INDI >> 1 NAME Bernard /St-Jacques/ >> 2 GIVN Bernard >> 2 SURN St-Jacques >> 1 SEX M >> 1 FAMS @F1@ >> 1 FAMC @F2@ >> >> Example of processing : replace all St-Jacques in PLAC fields >> by "St-Jacques,,Qc," but not in NAME fields. > >PowerShell command (assuming there are none that already have extended >text)[UNTESTED] > >get-content >'path:to\file.ged' | foreach {$_ -replace >'(.) PLAC (.*) (St-Jacques) (.*)', '$1 PLAC $2 $3,,Qc, $4'} > >'path:to\new.ged' I'm impressed with both the Powershell and the AWK solutions to the problem Denis posted. However "that" problem I could also correct with traditional means, like a rather simple Word macro. However, as I explained in a follow-up to Denis's post, the actual problem that started the thread was a bit different. I'm sure either AWK or Powershell can handle it too, but I do think it's a bit more complicated. As someone "aspiring" to become proficient in either AWK or Powershell, I'd really like to see that solution posted. In general, the difference is that the original problem was to replace quote marks with some other character, when quote marks appear in the name field, for an "arbitrary" name. That is, it is assumed that some portion of the given names in the file, (but not all) have had quote marks surrounding one or more of the given names, and these are the characters that must be changed.
On Mon, 18 Feb 2013 10:26:32 -0600, Charlie Hoffpauir <invalid@invalid.com> wrote: >Of course there are many other reasons for doing similar things to >GEDCOM files, as Denis has explained, so there is quite a lot of >interest by several readers, me included, in all the general solutions >proposed. By the authority invested in me I award two "WOWS!" - one to Denis and one to you. I apologize for them not being the price of a cup of coffee. Hugh
On Mon, 18 Feb 2013 03:21:06 -0600, Ed Morton <mortonspam@gmail.com> wrote: (deleted) My situation is not too difficult to explain. I have almost 7000 names in my genealogy program. When my provable line began many people were called by their middle names. I don't agree with the practice. I don't object to my first name. I just will not bow to people requiring first name, middle initial. I had rather make an issue of it. I use " marks to identify middle names of people who go by the middle name. My problem is switching from one genie program to another. The second reads the name in quotes as a nickname and shows it twice... James "Hugh" "Hugh" Sullivan. I need to convert the files to gedcom then search and replace the " with blank spaces. I would not transfer the files from the second program back to the first because of other problems. But I want the ability to use both programs. It seems like there should be a simple solution. And if I wasn't about to retire when computers became commonplace I probably would know how. It's not so much a life and death matter as me being frustrated because I have a problem I can't solve for myself - doesn't make for a happy camper. Hugh
On Monday 18 February 2013 10:44, in comp.lang.awk, denis.b-at-francogene.com@fr.invalid wrote: > On Mon, 18 Feb 2013 04:34:31 -0600, Ed Morton <mortonspam@gmail.com> > wrote in soc.genealogy.computing: > >>Thanks for the explanation. If there is anything that awk could help with, >>sample input + expected output + a brief description is all we'd need. > > The GEDCOM format in short : > > a series of lines, i.e. a plain text file. Typically, a line is : > > > level tag content > > > level is a number, usually 0 to 3 (I have seen 5). For safety, we > may presume 0 to 9. Level means the line "belongs" to the previous > level, i.e. the previous tag with the previous level. 0 INDI is > an individual entry, 1 BIRT is his birth data, 2 DATE the birth date, > so the 2 DATE belongs to 1 BIRT which belongs to 0 INDI. > > tag is a series of letters, some softwares may use an underscrore > or even a number, but whatever, the tags are usually standard and > define the content (i.e. name, date, type of record). > > content is facultative and depends on tag. This is the part that > we may want to change. For example, replace all names in uppercase > to lowercase with an uppercase initial, or isolate towns to > standardize them or even replace sources by some ID. An example > (I kept lines that need usually to be processed) : > > Some lines may have an ID as 2nd field, then a tag as 3rd field. > This is common with level 0. > > 0 @I1@ INDI > 1 NAME Bernard /Landry/ > 2 GIVN Bernard > 2 SURN Landry > 1 SEX M > 1 BIRT > 2 DATE 9 MAR 1937 > 2 PLAC St-Jacques > 0 @I2@ INDI > 1 NAME Bernard /St-Jacques/ > 2 GIVN Bernard > 2 SURN St-Jacques > 1 SEX M > 1 FAMS @F1@ > 1 FAMC @F2@ > > Example of processing : replace all St-Jacques in PLAC fields > by "St-Jacques,,Qc," but not in NAME fields. Off the top of my head... awk '$2 == "PLAC" && $3 == "St-Jacques" { $3 = "St-Jacques,,Qc," } {print}' <gedcom.file -- Lew Pitcher "In Skills, We Trust"
On Mon, 18 Feb 2013 04:34:31 -0600, Ed Morton <mortonspam@gmail.com> wrote in soc.genealogy.computing: >Thanks for the explanation. If there is anything that awk could help with, >sample input + expected output + a brief description is all we'd need. The GEDCOM format in short : a series of lines, i.e. a plain text file. Typically, a line is : level tag content level is a number, usually 0 to 3 (I have seen 5). For safety, we may presume 0 to 9. Level means the line "belongs" to the previous level, i.e. the previous tag with the previous level. 0 INDI is an individual entry, 1 BIRT is his birth data, 2 DATE the birth date, so the 2 DATE belongs to 1 BIRT which belongs to 0 INDI. tag is a series of letters, some softwares may use an underscrore or even a number, but whatever, the tags are usually standard and define the content (i.e. name, date, type of record). content is facultative and depends on tag. This is the part that we may want to change. For example, replace all names in uppercase to lowercase with an uppercase initial, or isolate towns to standardize them or even replace sources by some ID. An example (I kept lines that need usually to be processed) : Some lines may have an ID as 2nd field, then a tag as 3rd field. This is common with level 0. 0 @I1@ INDI 1 NAME Bernard /Landry/ 2 GIVN Bernard 2 SURN Landry 1 SEX M 1 BIRT 2 DATE 9 MAR 1937 2 PLAC St-Jacques 0 @I2@ INDI 1 NAME Bernard /St-Jacques/ 2 GIVN Bernard 2 SURN St-Jacques 1 SEX M 1 FAMS @F1@ 1 FAMC @F2@ Example of processing : replace all St-Jacques in PLAC fields by "St-Jacques,,Qc," but not in NAME fields. -- Denis Beauregard - généalogiste émérite (FQSG) Les Français d'Amérique du Nord - www.francogene.com/genealogie--quebec/ French in North America before 1722 - www.francogene.com/quebec--genealogy/ Sur cédérom à 1780 - On CD-ROM to 1780
On Mon, 18 Feb 2013 10:09:10 -0600, Charlie Hoffpauir <invalid@invalid.com> wrote: >On Mon, 18 Feb 2013 10:44:39 -0500, Denis Beauregard ><denis.b-at-francogene.com@fr.invalid> wrote: > >>On Mon, 18 Feb 2013 04:34:31 -0600, Ed Morton <mortonspam@gmail.com> >>wrote in soc.genealogy.computing: >> >>>Thanks for the explanation. If there is anything that awk could help with, >>>sample input + expected output + a brief description is all we'd need. >> >>The GEDCOM format in short : >> >>a series of lines, i.e. a plain text file. Typically, a line is : >> >> >>level tag content >> >> >>level is a number, usually 0 to 3 (I have seen 5). For safety, we >>may presume 0 to 9. Level means the line "belongs" to the previous >>level, i.e. the previous tag with the previous level. 0 INDI is >>an individual entry, 1 BIRT is his birth data, 2 DATE the birth date, >>so the 2 DATE belongs to 1 BIRT which belongs to 0 INDI. >> >>tag is a series of letters, some softwares may use an underscrore >>or even a number, but whatever, the tags are usually standard and >>define the content (i.e. name, date, type of record). >> >>content is facultative and depends on tag. This is the part that >>we may want to change. For example, replace all names in uppercase >>to lowercase with an uppercase initial, or isolate towns to >>standardize them or even replace sources by some ID. An example >>(I kept lines that need usually to be processed) : >> >>Some lines may have an ID as 2nd field, then a tag as 3rd field. >>This is common with level 0. >> >>0 @I1@ INDI >>1 NAME Bernard /Landry/ >>2 GIVN Bernard >>2 SURN Landry >>1 SEX M >>1 BIRT >>2 DATE 9 MAR 1937 >>2 PLAC St-Jacques >>0 @I2@ INDI >>1 NAME Bernard /St-Jacques/ >>2 GIVN Bernard >>2 SURN St-Jacques >>1 SEX M >>1 FAMS @F1@ >>1 FAMC @F2@ >> >>Example of processing : replace all St-Jacques in PLAC fields >>by "St-Jacques,,Qc," but not in NAME fields. > > Denis gave an "almost" perfect example of the problem posed by the >OP. The original post described a situation where a string enclosed by >quote marks were to be replaced by the string without quote marks. >What Denis described is a particular atring, what is needed is the >ability to replace any string in quote marks by the same string >without quote marks. A further comment (as a refresher). This all started because we are trying to change a name, and it could be any name in any record, that Huge had enclosed in quotation marks to indicate that that given name was the name by which the person was "called". In importing this GEDCOM to RM, RM apparently treats this name as a nickname, and so puts it in the nickname field, and so it appears twice when RM displays the name. So the idea was to change the quote marks to "something else" that RM would not interpret to be a nickname, and then once the data was in RM, use the search/replace feature to remove taht "something else". Of course there are many other reasons for doing similar things to GEDCOM files, as Denis has explained, so there is quite a lot of interest by several readers, me included, in all the general solutions proposed. I was certainly pleased to see the spreadsheet proposal posted by Denis earlier in the thread.... simple, easy to follow... and almost everyone already has the tools needed! But hopefully there are more elegant solutions of a general nature, and AWK certainly looks like a good tool.
On Mon, 18 Feb 2013 10:44:39 -0500, Denis Beauregard <denis.b-at-francogene.com@fr.invalid> wrote: >On Mon, 18 Feb 2013 04:34:31 -0600, Ed Morton <mortonspam@gmail.com> >wrote in soc.genealogy.computing: > >>Thanks for the explanation. If there is anything that awk could help with, >>sample input + expected output + a brief description is all we'd need. > >The GEDCOM format in short : > >a series of lines, i.e. a plain text file. Typically, a line is : > > >level tag content > > >level is a number, usually 0 to 3 (I have seen 5). For safety, we >may presume 0 to 9. Level means the line "belongs" to the previous >level, i.e. the previous tag with the previous level. 0 INDI is >an individual entry, 1 BIRT is his birth data, 2 DATE the birth date, >so the 2 DATE belongs to 1 BIRT which belongs to 0 INDI. > >tag is a series of letters, some softwares may use an underscrore >or even a number, but whatever, the tags are usually standard and >define the content (i.e. name, date, type of record). > >content is facultative and depends on tag. This is the part that >we may want to change. For example, replace all names in uppercase >to lowercase with an uppercase initial, or isolate towns to >standardize them or even replace sources by some ID. An example >(I kept lines that need usually to be processed) : > >Some lines may have an ID as 2nd field, then a tag as 3rd field. >This is common with level 0. > >0 @I1@ INDI >1 NAME Bernard /Landry/ >2 GIVN Bernard >2 SURN Landry >1 SEX M >1 BIRT >2 DATE 9 MAR 1937 >2 PLAC St-Jacques >0 @I2@ INDI >1 NAME Bernard /St-Jacques/ >2 GIVN Bernard >2 SURN St-Jacques >1 SEX M >1 FAMS @F1@ >1 FAMC @F2@ > >Example of processing : replace all St-Jacques in PLAC fields >by "St-Jacques,,Qc," but not in NAME fields. Denis gave an "almost" perfect example of the problem posed by the OP. The original post described a situation where a string enclosed by quote marks were to be replaced by the string without quote marks. What Denis described is a particular atring, what is needed is the ability to replace any string in quote marks by the same string without quote marks.
Ed Morton wrote: > On 2/17/2013 10:01 PM, Denis Beauregard wrote: >> On Sat, 16 Feb 2013 08:19:55 +0200, Steve Hayes >> <hayesstw@telkomsa.net> wrote in soc.genealogy.computing: >> >>> On Fri, 15 Feb 2013 18:48:58 -0600, Charlie Hoffpauir >>> <invalid@invalid.com> >>> wrote: >>> >>>> If Legacy won't let you do the replacement in the given name field, >>>> then it gets more complicated, but still doable. In essence, you >>>> create the GEDCOM from Legacy with the names unchanged, then do the >>>> search/replace on the GEDCOM. The reason it's more difficult there is >>>> because then you have to write some sort of macro the do the >>>> replacement only on quote marks found in the name field. I did a few >>>> macros similar to that using Word to process the GEDCOMs generated by >>>> FTM back before RM wouldn't do the import directly. >> >> A less techie solution, but still using a GEDCOM file. >> >> Read your file with a spreadsheet (LibreOffice or Excel will do the >> job). Be sure to have all the file in ONE column. >> >> Add a column and enter numbers from 1 to the the number of lines in >> the file. In LibreOffice : Edit - Fill - Series >> >> Sort the file by the GEDCOM lines. >> >> Replace the fields you want to, as all the 1 NAME lines, for example, >> will be in a continuous group. >> >> Sort by line numbers to get the original order. >> >> Remove the column with line numbers. >> >> Save as GEDCOM. >> > > If someone would like to post some small set of representative sample > input and expected output and describe the transformation you need, > those of us at comp.lang.awk who don't know and don't care what GEDCOM, > Legacy, etc. are might have something to contribute. > Ed, the real problem here is that the entire GEDCOM format is grossly underspecced for the job it's now expected to do. It's supposed to be a format for exchange of genealogical information. Because various vendors have added features not in its original scope they've used various tricks to try to get GEDCOM to hold the data for those features and the different tricks don't play well with each other because the vendors didn't coordinate them. Add to that that the applications don't necessarily do exactly what the users want so some of them have adopted personal conventions in data use. The consequence here is that there seems to be a need to patch the data on its way from one vendor's application to another in order to convey what the user wants it to convey. In this particular case it seems to be the simple substitution of one string by another for which awk is overkill. Sed would be quite adequate. Not even in the greater scheme of things would awk be a solution. The whole thing is a kludge. What's really needed is to start again with a clean sheet (don't even retain the inadequate data model on which GEDCOM was built) and this time add extensibility into the list of requirements. -- Ian The Hotmail address is my spam-bin. Real mail address is iang at austonley org uk
On 2/18/2013 4:04 AM, Ian Goddard wrote: > Ed Morton wrote: >> On 2/17/2013 10:01 PM, Denis Beauregard wrote: >>> On Sat, 16 Feb 2013 08:19:55 +0200, Steve Hayes >>> <hayesstw@telkomsa.net> wrote in soc.genealogy.computing: >>> >>>> On Fri, 15 Feb 2013 18:48:58 -0600, Charlie Hoffpauir >>>> <invalid@invalid.com> >>>> wrote: >>>> >>>>> If Legacy won't let you do the replacement in the given name field, >>>>> then it gets more complicated, but still doable. In essence, you >>>>> create the GEDCOM from Legacy with the names unchanged, then do the >>>>> search/replace on the GEDCOM. The reason it's more difficult there is >>>>> because then you have to write some sort of macro the do the >>>>> replacement only on quote marks found in the name field. I did a few >>>>> macros similar to that using Word to process the GEDCOMs generated by >>>>> FTM back before RM wouldn't do the import directly. >>> >>> A less techie solution, but still using a GEDCOM file. >>> >>> Read your file with a spreadsheet (LibreOffice or Excel will do the >>> job). Be sure to have all the file in ONE column. >>> >>> Add a column and enter numbers from 1 to the the number of lines in >>> the file. In LibreOffice : Edit - Fill - Series >>> >>> Sort the file by the GEDCOM lines. >>> >>> Replace the fields you want to, as all the 1 NAME lines, for example, >>> will be in a continuous group. >>> >>> Sort by line numbers to get the original order. >>> >>> Remove the column with line numbers. >>> >>> Save as GEDCOM. >>> >> >> If someone would like to post some small set of representative sample >> input and expected output and describe the transformation you need, >> those of us at comp.lang.awk who don't know and don't care what GEDCOM, >> Legacy, etc. are might have something to contribute. >> > > Ed, the real problem here is that the entire GEDCOM format is grossly > underspecced for the job it's now expected to do. It's supposed to be a format > for exchange of genealogical information. Because various vendors have added > features not in its original scope they've used various tricks to try to get > GEDCOM to hold the data for those features and the different tricks don't play > well with each other because the vendors didn't coordinate them. Add to that > that the applications don't necessarily do exactly what the users want so some > of them have adopted personal conventions in data use. > > The consequence here is that there seems to be a need to patch the data on its > way from one vendor's application to another in order to convey what the user > wants it to convey. In this particular case it seems to be the simple > substitution of one string by another for which awk is overkill. Sed would be > quite adequate. > > Not even in the greater scheme of things would awk be a solution. The whole > thing is a kludge. What's really needed is to start again with a clean sheet > (don't even retain the inadequate data model on which GEDCOM was built) and this > time add extensibility into the list of requirements. > Sounds like the Comma-Separated-Value (CSV) non-standard. Some vendors enclose all fields in quotes, some only use quotes if fields contain commas (the field separator character), some don't use quotes at all, some vendors escape quotes with a backslash, some escape quotes with a second quote, some escape field separators within fields with a backslash, etc., etc. The situation comes up in telecoms a lot too, e.g. when some new/enhanced signaling protocol is thought up and service providers want to use it before an international standards body has time to think about it and define a standard for it so the service providers and/or equipment manufactures all run off and create their own "standards" so they can implement something right away and then they start fighting for that to become THE definition that the standards bodies adopt and so force the other service providers to re-write their code if they want to inter-operate. It seems to be a very common issue. Thanks for the explanation. If there is anything that awk could help with, sample input + expected output + a brief description is all we'd need. Ed.
On 2/17/2013 10:01 PM, Denis Beauregard wrote: > On Sat, 16 Feb 2013 08:19:55 +0200, Steve Hayes > <hayesstw@telkomsa.net> wrote in soc.genealogy.computing: > >> On Fri, 15 Feb 2013 18:48:58 -0600, Charlie Hoffpauir <invalid@invalid.com> >> wrote: >> >>> If Legacy won't let you do the replacement in the given name field, >>> then it gets more complicated, but still doable. In essence, you >>> create the GEDCOM from Legacy with the names unchanged, then do the >>> search/replace on the GEDCOM. The reason it's more difficult there is >>> because then you have to write some sort of macro the do the >>> replacement only on quote marks found in the name field. I did a few >>> macros similar to that using Word to process the GEDCOMs generated by >>> FTM back before RM wouldn't do the import directly. > > A less techie solution, but still using a GEDCOM file. > > Read your file with a spreadsheet (LibreOffice or Excel will do the > job). Be sure to have all the file in ONE column. > > Add a column and enter numbers from 1 to the the number of lines in > the file. In LibreOffice : Edit - Fill - Series > > Sort the file by the GEDCOM lines. > > Replace the fields you want to, as all the 1 NAME lines, for example, > will be in a continuous group. > > Sort by line numbers to get the original order. > > Remove the column with line numbers. > > Save as GEDCOM. > > > Denis > If someone would like to post some small set of representative sample input and expected output and describe the transformation you need, those of us at comp.lang.awk who don't know and don't care what GEDCOM, Legacy, etc. are might have something to contribute. Regards, Ed.
On Sat, 16 Feb 2013 08:19:55 +0200, Steve Hayes <hayesstw@telkomsa.net> wrote in soc.genealogy.computing: >On Fri, 15 Feb 2013 18:48:58 -0600, Charlie Hoffpauir <invalid@invalid.com> >wrote: > >>If Legacy won't let you do the replacement in the given name field, >>then it gets more complicated, but still doable. In essence, you >>create the GEDCOM from Legacy with the names unchanged, then do the >>search/replace on the GEDCOM. The reason it's more difficult there is >>because then you have to write some sort of macro the do the >>replacement only on quote marks found in the name field. I did a few >>macros similar to that using Word to process the GEDCOMs generated by >>FTM back before RM wouldn't do the import directly. A less techie solution, but still using a GEDCOM file. Read your file with a spreadsheet (LibreOffice or Excel will do the job). Be sure to have all the file in ONE column. Add a column and enter numbers from 1 to the the number of lines in the file. In LibreOffice : Edit - Fill - Series Sort the file by the GEDCOM lines. Replace the fields you want to, as all the 1 NAME lines, for example, will be in a continuous group. Sort by line numbers to get the original order. Remove the column with line numbers. Save as GEDCOM. Denis -- Denis Beauregard - généalogiste émérite (FQSG) Les Français d'Amérique du Nord - www.francogene.com/genealogie--quebec/ French in North America before 1722 - www.francogene.com/quebec--genealogy/ Sur cédérom à 1780 - On CD-ROM to 1780
On Sun, 17 Feb 2013 08:28:07 -0600, Charlie Hoffpauir <invalid@invalid.com> wrote: >On Sun, 17 Feb 2013 06:47:51 +0200, Steve Hayes ><hayesstw@telkomsa.net> wrote: > >>On Sat, 16 Feb 2013 09:04:31 -0600, Charlie Hoffpauir <invalid@invalid.com> >>wrote: >> >>>You sparked my interest. I still try to use GEDCOM Explorer (GEDX) >>>occasionally, so I'd like to hear more about AWK. I might have heard >>>of it, but it's too early in the morning for me to think clearly.... >>>What does AWK stand for? >> >>If you give me your e-mail address, I can send it to you as a ZIP file. > >An address that works is my first name and surname initial combined as >usual: charlieh at wt dot net I've sent it, please let me know if it arrives OK. -- Steve Hayes from Tshwane, South Africa Blog: http://khanya.wordpress.com E-mail - see web page, or parse: shayes at dunelm full stop org full stop uk
On 17/02/2013 11:57, Ian Goddard wrote: > Joe Makowiec wrote: >> On 16 Feb 2013 in soc.genealogy.computing, Ian Goddard wrote: >> >>> Actually it was Cygwin http://www.cygwin.com/ I was thinking of. >>> It's a long time since I used it (much easier these days to just run >>> Linux) but IIRC it provides its own Unix-style shell & doesn't then >>> depend on the conflict between the way command.exe & shell handle / >>> and \ etc. I'm not sure if the others do. >> >> Probably not, although I tend to avoid pathing issues by changing to the >> directory I want to use before I use the utilities. Having grep >> available in a 'DOS' shell is extremely convenient. >> > > I was thinking more along the lines of using \ to escape shell > meta-characters and wondering whether command.exe might seek to > interpret them as part of a path. > You could try Grepwin http://tools.tortoisesvn.net/grepWin.html
On 17 Feb 2013 in soc.genealogy.computing, Ian Goddard wrote: > I was thinking more along the lines of using \ to escape shell > meta-characters and wondering whether command.exe might seek to > interpret them as part of a path. Ah. No, it doesn't. What gets me is that in the bash shell, text delimiters are single quotes; in cmd.com, they're double. I usually use bash, and when I try using single quotes in cmd.com, I get nothing. -- Joe Makowiec http://makowiec.org/ Email: http://makowiec.org/contact/?Joe Usenet Improvement Project: http://twovoyagers.com/improve-usenet.org/
J. Hugh Sullivan wrote: > On Sat, 16 Feb 2013 11:19:26 -0600, Charlie Hoffpauir > <invalid@invalid.com> wrote: > >> I think grep would work on making the changes to the GEDCOMs, but as >> far as I know it's only used in Linux or Unix-like programs, which >> I've played with but decided at my age it's too late to try to become >> proficient in. Using word is the lazy way, you just figure out what >> Word editing steps you have to make, then record it to a macro. If it >> truns out that isolating the given name field in the GEDCOM is easy, >> then it might not even be worthwhile to record it to a macro.... just >> a couple of steps of search/replace. It would be super easy if you had >> used some other character to define the used name.... it gets >> difficult because the " mark is probably used in many places of text >> where you don't wnat the " replaced by another character. > > I presumed from what I was told that it would be as simple as telling > grep to look for the GED Sullivan Combo, find "X" or "*"and replace > the quotes. It forms a new file but doesn't destroy the old. Of course > everything is simple to that guy. > > I'm not sure why I would think anything is that simple. > > I don't recall using ""s for anything else. Simple sed script to remove ALL quotes: sed s/\"//g my.ged > new.ged Explanation: the s command is the substitute command. It searches each line for the first occurrence of that's between the first & second / and substitutes what's between the second & third so that sed s/this/that/ will replace the first this with that. Adding a g (global) after the command makes it replace all occurrences. However " is meaningful to the shell (the Unix equivalent of command.exe) but preceding a character with a backslash tells the shell to ignore it so where the line contains \" the shell removes the \ and passes the " to the command. So what sed sees as its first parameter is s/"//g which tells it to replace all occurrences of " with nothing. The second parameter is, of course the name of the file to be processed so it will read all the lines in the file, remove each occurrence of " and replace it with nothing. The > new.ged simply tells the shell to create a file called new.ged and direct sed's output into it. By contrast grep \" my.ged would simply return all the lines which included a " but wouldn't do any other processing on them. -- Ian The Hotmail address is my spam-bin. Real mail address is iang at austonley org uk
Joe Makowiec wrote: > On 16 Feb 2013 in soc.genealogy.computing, Ian Goddard wrote: > >> Actually it was Cygwin http://www.cygwin.com/ I was thinking of. >> It's a long time since I used it (much easier these days to just run >> Linux) but IIRC it provides its own Unix-style shell & doesn't then >> depend on the conflict between the way command.exe & shell handle / >> and \ etc. I'm not sure if the others do. > > Probably not, although I tend to avoid pathing issues by changing to the > directory I want to use before I use the utilities. Having grep > available in a 'DOS' shell is extremely convenient. > I was thinking more along the lines of using \ to escape shell meta-characters and wondering whether command.exe might seek to interpret them as part of a path. -- Ian The Hotmail address is my spam-bin. Real mail address is iang at austonley org uk
On Sun, 17 Feb 2013 06:47:51 +0200, Steve Hayes <hayesstw@telkomsa.net> wrote: >On Sat, 16 Feb 2013 09:04:31 -0600, Charlie Hoffpauir <invalid@invalid.com> >wrote: > >>You sparked my interest. I still try to use GEDCOM Explorer (GEDX) >>occasionally, so I'd like to hear more about AWK. I might have heard >>of it, but it's too early in the morning for me to think clearly.... >>What does AWK stand for? > >If you give me your e-mail address, I can send it to you as a ZIP file. An address that works is my first name and surname initial combined as usual: charlieh at wt dot net
On Sat, 16 Feb 2013 09:04:31 -0600, Charlie Hoffpauir <invalid@invalid.com> wrote: >You sparked my interest. I still try to use GEDCOM Explorer (GEDX) >occasionally, so I'd like to hear more about AWK. I might have heard >of it, but it's too early in the morning for me to think clearly.... >What does AWK stand for? If you give me your e-mail address, I can send it to you as a ZIP file. -- Steve Hayes from Tshwane, South Africa Blog: http://khanya.wordpress.com E-mail - see web page, or parse: shayes at dunelm full stop org full stop uk