public static void main(String s[])
  {
    startTime = System.nanoTime();
    Date date = new Date();
    /*
    System.out.println("This is "+getFullVersion());
    System.out.println(getCopyright());
    System.out.println("");
    */
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
    startDate = sdf.format(date);
    
    Map<OPTCODE,String> cmdmap = scanConfiguration(s);
    String configFileName = cmdmap.get(OPTCODE.c);
    if (configFileName==null)
    {
      printEarlyErrorAndExit("Configuration file is missing.");
    }
    cmdmap.remove(OPTCODE.c);
    
    try
    {
      quiet = Integer.parseInt(cmdmap.get(OPTCODE.q));     
    }
    catch (Exception ex) {};
    cmdmap.remove(OPTCODE.q);
    
    if (quiet==0)
    {
      printWelcome();
    }    
    try
    {
      new CSVSorter(configFileName, cmdmap);
    }
    catch (Exception e)
    {
      if (quiet!=0)
      {
        printWelcome();
      }          
      System.out.println("Error: " + e.toString());
      System.out.println("CSV-Sorter finished with errors.");
      System.exit(1);
    }
    if (quiet==0)
    {
      System.out.println("CSV-Sorter finished gracefully.");
    }
  }