@Override
  protected void process() {
    StringTokenizer t = new StringTokenizer(fileL.getListString(true), "\n");
    int files = 0, total = 0;
    for(; t.hasMoreTokens(); files++) {
      String s = t.nextToken();
      String title = Print.titleString("--", s);
      if (showAllFiles) {
        Print.ln(title);
        title = null;
      }

      int i = 0;
      try(BufferedReader in = new BufferedReader(new FileReader(s))) {
        for(int line = 1; (s = in.readLine()) != null; line++)
          if (fnameFilter.accept(s)) {
            if (title != null) {
              Print.ln(title);
              title = null;
            }
            Print.f("%3d: %s\n", line, s);
            i++;
          }
      } catch (IOException ioe) {
        Sys.warning(ioe.toString());
      }

      if (i > 0 || showAllFiles) {
        Print.ln("   " + i + " occurrence(s)");
      }
      total += i;
    }
    Print.ln(Print.separator("=========================="));
    Print.ln("Totally " + total + " occurrence(s) in " + files + " file(s).\n");
  }