Solved

Change the date format

Posted on 2006-11-29
3
233 Views
Last Modified: 2010-04-20
How can I read a date written in date.data file in the following format:
year/month/day

date.data
-----------
1815/11/02      Boole, George
1864/06/22      Minkowski, Hermann
1854/04/29      Poincare, Jules Henri
1877/09/11      Jeans, James Hopwood
1826/09/17      Riemann, Georg Friedrich Bernhard

and change it to the following format:
George BOOLE (November 2, 1815)

can anyone provide me with the solution.
0
Comment
Question by:saharey
3 Comments
 
LVL 1

Accepted Solution

by:
TraskAdam earned 50 total points
ID: 18035837
A bit of perl ought to do the trick...

[user@localhost /tmp/ee]$ cat data
1815/11/02      Boole, George
1864/06/22      Minkowski, Hermann
1854/04/29      Poincare, Jules Henri
1877/09/11      Jeans, James Hopwood
1826/09/17      Riemann, Georg Friedrich Bernhard
[user@localhost /tmp/ee]$ cat conv.pl
#!/usr/bin/perl -n

@mon = ("",
        "January",
        "March",
        "March",
        "April",
        "May",
        "June",
        "July",
        "August",
        "September",
        "October",
        "November",
        "December"
);
next unless (\/^(\d+)\/(\d+)\/(\d+)\s+([^,]+),\s*(.*)$/);

$year = $1; $mon = $2; $day = $3;
$last = $4; $first = $5;

printf "%s %s (%s %d, %d)\n",
        $first, uc($last), $mon[$mon], $day, $year;

[user@localhost /tmp/ee]$ cat data | ./conv.pl
George BOOLE (November 2, 1815)
Hermann MINKOWSKI (June 22, 1864)
Jules Henri POINCARE (April 29, 1854)
James Hopwood JEANS (September 11, 1877)
Georg Friedrich Bernhard RIEMANN (September 17, 1826)
[user@localhost /tmp/ee]$

... prolly a programatic way to find the name of the month using strftime() instead of a predefined array but it doens't seem worth the effort here.  Should probably also report bogus lines istead of just ignoring them so...

next unless (\/^(\d+)\/(\d+)\/(\d+)\s+([^,]+),\s*(.*)$/);

... should be more like...

unless (\/^(\d+)\/(\d+)\/(\d+)\s+([^,]+),\s*(.*)$/) {
       print STDERR "unrecongised line: $_";
       next;
}
0

Featured Post

Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

Join & Write a Comment

In this tutorial I will explain how to make squid prevent malwares in five easy steps: Squid is a caching proxy for the Web supporting HTTP, HTTPS, FTP, and more. It reduces bandwidth and improves response times by caching and reusing frequently-…
The purpose of this article is to demonstrate how we can use conditional statements using Python.
Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now