Sponsored Content
Top Forums Shell Programming and Scripting A script to format a file (ideally PERL) Post 302955809 by Aia on Monday 21st of September 2015 09:00:29 PM
Old 09-21-2015
Code:
#!/usr/bin/perl

use strict;
use warnings;

# map relationships to gender.
# accommodate misspelling of Daughter
my %gender = (
    'Father', '[M]',
    'Mother', '[F]',
    'Daugther', '[F]',
    'Daughter', '[F]',
    'Son', '[M]',
    'Child', '[]',
);

my @parents;
my %children;

# read kylle345.file file line by line
# change to the actual file name to read from
open my $fh, '<', 'kylle345.file' or die;

# map parents and children per family into two categories
while(<$fh>){
    chomp;
    my ($family_id, $person) = split('-\w+\s+');
    my ($id, $relation, $name) = split('\s+', $person, 3);
    if($relation =~ /Father|Mother/) {
         push @parents, [$family_id, $id, "[$name]$gender{$relation}"];
         next;
    }
    push @{$children{$family_id}}, [$id, "[$name]$gender{$relation}"];
}
close $fh;

# report maps of parents and children
for my $session (@parents){
    my ($f, $i, $p) = @{$session};
    for my $child (@{$children{$f}}) {
        print "$f-$i$child->[0]_$p - $child->[1]\n";
    }
}

Code:
$ perl kylle345.pl
USIM1357-11A11C_[Jim Smith][M] - [Jack Smith][M]
USIM1357-11B11C_[Jane Smith][F] - [Jack Smith][M]
V106866-12A12B_[Ralph Davis][M] - [Randy Davis][]
V106864-14A14B_[Jane Jones][F] - [Jim Jones][M]
V106879-15A15B_[Andre Busby][M] - [Jenny Busby][F]
V106611-2A2B_[Kyle Mike][M] - [Evan Mike][M]
V106611-2A2C_[Kyle Mike][M] - [Bob Mike][M]
V106611-2A2D_[Kyle Mike][M] - [Jane Mike][F]

This User Gave Thanks to Aia For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

how to display the output file in an html format using perl

Hi, I have written a perl script to dispaly some statements from a file but i want the output statements to be dispalyed in an HTML format.Is it possible for me to do in perl scripting? Please help me with ur thoughts. Thanks In Advance Meva. (1 Reply)
Discussion started by: meva
1 Replies

2. Shell Programming and Scripting

Format text to bold from perl script to csv

Hi everyone, is there any way in perl using which we can print the selective words in bold when we write the output to a csv file? Please find the example below 1. Filename: A 2. name age 12 3. city add 23 Line1 should only be bold. Outputs from other files being read in the... (2 Replies)
Discussion started by: ramakanth_burra
2 Replies

3. Shell Programming and Scripting

Converting windows format file to unix format using script

Hi, I am having couple of files which i used to copy from windows to Linux, so now in case of text files (CTRL^M) appears at end of line. I know i can convert this windows format file to unix format file by running dos2unix. My requirement here is that i want to do it automatically using a... (5 Replies)
Discussion started by: sarbjit
5 Replies

4. Shell Programming and Scripting

Perl Script for reading table format data from file.

Hi, i need a perl script which reads the file, content is given below. and output in new file. TARGET DRIVE IO1 IO2 IO3 IO4 IO5 ------------ --------- --------- --------- --------- --------- 0a.1.8 266 236 ... (3 Replies)
Discussion started by: asak
3 Replies

5. Shell Programming and Scripting

Perl one-liner convert to script format problem asking

Input_file_1: ABC1 DEF11 ABC3 DEF7 ABC7 DEF36 Input_file_2: DEF7 light 23 DEF11 over 2 DEF11 over 1 DEF17 blue 0 Perl one-liner that join two input file based on columns sharing a value (In this example, column 2 in Input_file_1 and column 1 in... (3 Replies)
Discussion started by: perl_beginner
3 Replies

6. Shell Programming and Scripting

Help with perl script to output data in table format...

Hello, I need help with a perl script that will process a text file and match virtual server name to profile(s). the rest will be ignored. Virtual server name follows the word "virtual" in the begging of the line. There could be multiple profiles assigned to one virtual server. For example, ... (3 Replies)
Discussion started by: besogon
3 Replies

7. Shell Programming and Scripting

perl script to check the mail ids in the correct format or not

Hi Folks, I have few mailids in a text file and need to check whether the mailid is in correct format or not. If just to check whether the string is a mailid or not there is a perl module Email::Valid to do the business or we can implement our own logic. But the mail_ids I am having is... (4 Replies)
Discussion started by: giridhar276
4 Replies

8. Shell Programming and Scripting

Perl -- Script to re-format data

Hi, I have a file with data in the following format BOX -1.000000 -1.000000 0.000000 30.00000 14.00000 0.1000000 0.000000 0.000000 0.000000 0.000000 0.000000 CYLINDER 3.595000 2.995000 0.000000 0.5100000 2.000000 Z 0.000000 0.000000 0.000000 I want to convert these files... (1 Reply)
Discussion started by: lost.identity
1 Replies

9. Shell Programming and Scripting

Script to generate Excel file or to SQL output data to Excel format/tabular format

Hi , i am generating some data by firing sql query with connecting to the database by my solaris box. The below one should be the header line of my excel ,here its coming in separate row. TO_CHAR(C. CURR_EMP_NO ---------- --------------- LST_NM... (6 Replies)
Discussion started by: dani1234
6 Replies

10. 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
DateTime::Format::Natural::Lang::EN(3pm)		User Contributed Perl Documentation		  DateTime::Format::Natural::Lang::EN(3pm)

NAME
DateTime::Format::Natural::Lang::EN - English language metadata DESCRIPTION
"DateTime::Format::Natural::Lang::EN" provides the english specific grammar and variables. This class is loaded if the user either specifies the english language or implicitly. EXAMPLES
Below are some examples of human readable date/time input in english (be aware that the parser does not distinguish between lower/upper case; furthermore, many expressions allow for additional leading/trailing time and all times are also parsable with precision in seconds): Simple now yesterday today tomorrow morning afternoon evening noon midnight yesterday at noon yesterday at midnight today at noon today at midnight tomorrow at noon tomorrow at midnight this morning this afternoon this evening yesterday morning yesterday afternoon yesterday evening today morning today afternoon today evening tomorrow morning tomorrow afternoon tomorrow evening thursday morning thursday afternoon thursday evening 6:00 yesterday 6:00 today 6:00 tomorrow 5am yesterday 5am today 5am tomorrow 4pm yesterday 4pm today 4pm tomorrow last second this second next second last minute this minute next minute last hour this hour next hour last day this day next day last week this week next week last month this month next month last year this year next year last friday this friday next friday tuesday last week tuesday this week tuesday next week last week wednesday this week wednesday next week wednesday 10 seconds ago 10 minutes ago 10 hours ago 10 days ago 10 weeks ago 10 months ago 10 years ago in 5 seconds in 5 minutes in 5 hours in 5 days in 5 weeks in 5 months in 5 years saturday sunday 11:00 yesterday at 4:00 today at 4:00 tomorrow at 4:00 yesterday at 6:45am today at 6:45am tomorrow at 6:45am yesterday at 6:45pm today at 6:45pm tomorrow at 6:45pm yesterday at 2:32 AM today at 2:32 AM tomorrow at 2:32 AM yesterday at 2:32 PM today at 2:32 PM tomorrow at 2:32 PM yesterday 02:32 today 02:32 tomorrow 02:32 yesterday 2:32am today 2:32am tomorrow 2:32am yesterday 2:32pm today 2:32pm tomorrow 2:32pm wednesday at 14:30 wednesday at 02:30am wednesday at 02:30pm wednesday 14:30 wednesday 02:30am wednesday 02:30pm friday 03:00 am friday 03:00 pm sunday at 05:00 am sunday at 05:00 pm 2nd monday 100th day 4th february november 3rd last june next october 6 am 5am 5:30am 8 pm 4pm 4:20pm 06:56:06 am 06:56:06 pm mon 2:35 1:00 sun 1am sun 1pm sun 1:00 on sun 1am on sun 1pm on sun 12:14 PM 12:14 AM Complex yesterday 7 seconds ago yesterday 7 minutes ago yesterday 7 hours ago yesterday 7 days ago yesterday 7 weeks ago yesterday 7 months ago yesterday 7 years ago today 5 seconds ago today 5 minutes ago today 5 hours ago today 5 days ago today 5 weeks ago today 5 months ago today 5 years ago tomorrow 3 seconds ago tomorrow 3 minutes ago tomorrow 3 hours ago tomorrow 3 days ago tomorrow 3 weeks ago tomorrow 3 months ago tomorrow 3 years ago 2 seconds before now 2 minutes before now 2 hours before now 2 days before now 2 weeks before now 2 months before now 2 years before now 4 seconds from now 4 minutes from now 4 hours from now 4 days from now 4 weeks from now 4 months from now 4 years from now 6 in the morning 4 in the afternoon 9 in the evening monday 6 in the morning monday 4 in the afternoon monday 9 in the evening last sunday at 21:45 monday last week 6th day last week 6th day this week 6th day next week 12th day last month 12th day this month 12th day next month 1st day last year 1st day this year 1st day next year 1st tuesday last november 1st tuesday this november 1st tuesday next november 11 january next year 11 january this year 11 january last year 6 hours before yesterday 6 hours before tomorrow 3 hours after yesterday 3 hours after tomorrow 10 hours before noon 10 hours before midnight 5 hours after noon 5 hours after midnight noon last friday midnight last friday noon this friday midnight this friday noon next friday midnight next friday last friday at 20:00 this friday at 20:00 next friday at 20:00 1:00 last friday 1:00 this friday 1:00 next friday 1am last friday 1am this friday 1am next friday 1pm last friday 1pm this friday 1pm next friday 5 am last monday 5 am this monday 5 am next monday 5 pm last monday 5 pm this monday 5 pm next monday last wednesday 7am this wednesday 7am next wednesday 7am last wednesday 7pm this wednesday 7pm next wednesday 7pm last tuesday 11 am this tuesday 11 am next tuesday 11 am last tuesday 11 pm this tuesday 11 pm next tuesday 11 pm yesterday at 13:00 today at 13:00 tomorrow at 13 2nd friday in august 3rd wednesday in november tomorrow 1 year ago saturday 3 months ago at 17:00 saturday 3 months ago at 5:00am saturday 3 months ago at 5:00pm 11 january 2 years ago 4th day last week 8th month last year 8th month this year 8th month next year 6 mondays from now fri 3 months ago at 5am wednesday 1 month ago at 8pm final thursday in april last thursday in april Timespans monday to friday 1 April to 31 August 1999-12-31 to tomorrow now to 2010-01-01 2009-03-10 9:00 to 11:00 26 oct 10:00 am to 11:00 am jan 1 to 2 16:00 nov 6 to 17:00 may 2nd to 5th 100th day to 200th 6am dec 5 to 7am 1/3 to 2/3 2/3 to in 1 week 3/3 21:00 to in 5 days first day of 2009 to last day of 2009 first day of may to last day of may first to last day of 2008 first to last day of september for 4 seconds for 4 minutes for 4 hours for 4 days for 4 weeks for 4 months for 4 years Specific march january 11 11 january 18 oct 17:00 18 oct 5am 18 oct 5pm 18 oct 5 am 18 oct 5 pm dec 25 feb 28 3:00 feb 28 3am feb 28 3pm feb 28 3 am feb 28 3 pm 19:00 jul 1 7am jul 1 7pm jul 1 7 am jul 1 7 pm jul 1 jan 24, 2011 12:00 jan 24, 2011 12am jan 24, 2011 12pm may 27th 2005 march 1st 2009 October 2006 february 14, 2004 jan 3 2010 3 jan 2000 2010 october 28 2011-jan-04 27/5/1979 1/3 1/3 16:00 4:00 17:00 3:20:00 -5min +2d 20111018000000 Aliases 5 mins ago yesterday @ noon tues this week final thurs in sep tues thurs thur SEE ALSO
DateTime::Format::Natural AUTHOR
Steven Schubiger <schubiger@cpan.org> LICENSE
This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself. See <http://dev.perl.org/licenses/> perl v5.14.2 2012-05-31 DateTime::Format::Natural::Lang::EN(3pm)
All times are GMT -4. The time now is 08:31 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy