Sponsored Content
Full Discussion: Custom Report
Top Forums Shell Programming and Scripting Custom Report Post 303003334 by Aia on Tuesday 12th of September 2017 01:06:03 PM
Old 09-12-2017
A flexible Perl program.

Save as formatter.pl, run as perl formatter.pl [file1 file2 ...]
Code:
#!/usr/bin/perl

use strict;
use warnings;

#
# An ordered list of item labels.
my @ordered_labels = (
   'insert_job',
   'job_type',
   'box_name',
   'command',
   'machine',
   'owner',
   'permission',
   'date_conditions',
   'std_out_file',
   'std_err_file',
   'alarm_if_fail',
   'group',
   'application',
   'send_notification',
   'notification_msg',
   'notification_emailaddress',);
#
# Buffer db for all values on each group.
my %db;

display_header();

#
# Parse and collect values.
while(<>) {
    #
    # Inside a group
    if(/^insert_job/../^\n/){
        if(/^insert_job/) {
            #
            # First line has two pairs and value does not have
            # spaces
            while(/(\w+):\s(\w+)/g) {
                $db{$1} = $2;
            }
        }
        else {
            #
            # Parse only one pair that may contain all kind
            # of characters as value, including spaces and quotes.
            /(\w+):\s(.*$)/ and $db{$1} = $2;
        }
        #
        # Display the data gathered and clear db for next time.
        if(/^\n/) {
            display_body();
            %db = ();
        }
    }
}
# Display any data still in the db buffer.
display_body() if %db;

sub display_header {
    print "JOB_NAME;JOB_TYPE;";
    for(@ordered_labels[2..$#ordered_labels]) {
        print "$_;";
    }
    print "\n";
}

sub display_body {
    for my $i (@ordered_labels) {
        if (defined $db{$i}){
            $db{$i} =~ s/"//g;
            print "$db{$i};";
        }
        else {
            print " ;";
        }
    }
    print "\n";
}

Output:
Code:
$ perl formatter.pl raw_file

JOB_NAME;JOB_TYPE;box_name;command;machine;owner;permission;date_conditions;std_out_file;std_err_file;alarm_if_fail;group;application;send_notification;notification_msg;notification_emailaddress;
test_job_hu;CMD; ;sleep 600;localhost;account;gx,wx;0;/tmp/$AUTO_JOB_NAME.out;/tmp/$AUTO_JOB_NAME.err;1;P2;TBS_00_AXZCDE_Admin;1;test_job_hu job completed in HU NP;pradeep.agarwal@in.com;
test_machine;CMD;test_machine_box;echo $HOME;HULNXMACHINE;svc_account@hu.europe.com;gx,wx;0; ; ;1; ; ; ; ; ;

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to custom application name in `ps -ef`?

A program named /usr/bin/aa.sh, two parameters: 11, 22. after start it, the row in `ps -ef` is almost like the following: root 12198 10278 0.0 Nov 25 pts/3 0:00.23 /usr/bin/aa.sh 11 22 but I want to change "/usr/bin/aa.sh 11 22" to one rule string, such as: "AA_11_22", how to... (1 Reply)
Discussion started by: linkjack
1 Replies

2. Shell Programming and Scripting

Custom PS command

(0 Replies)
Discussion started by: goldfish
0 Replies

3. Shell Programming and Scripting

Custom auto-complete

Hello: I am using csh, and am a complete noob when it comes to shell scripting. I want the following: 1) Ignore case when doing auto-complete. 2) If there are multiple matches (example: I have files abc.txt abc.txt.1, abc.txt.2 and type abc<tab>), count the number of matches. If... (1 Reply)
Discussion started by: madiyaan
1 Replies

4. UNIX for Dummies Questions & Answers

Changing ip in a custom way

Hi. I hope someone can help me. I have e very special question. I have a Lunix server and I have installed Webmin on it. This way, I can create a login for an other user and give him restricted access to some custom commands I set up. One of the commands i would like to setup, is for him to... (9 Replies)
Discussion started by: Wonderke
9 Replies

5. AIX

Custom libraries possible on AIX 4.2 ?

I had started writting my own custom libraries on an AIX 4.2. Before finishing, I wanted to do a very simple test. So I wrote the followings: test.sh #!/bin/ksh . testlib.sh ZZ=testz "aa" "bb" echo "$ZZ" exit 0 testlib.sh testz () { return "$1$2" } When I ran my test.sh, I got an... (2 Replies)
Discussion started by: Browser_ice
2 Replies

6. Shell Programming and Scripting

doing own custom parameters

I have an rsync command that I want to create a variable where user can change to customize the parameters. complete rsync command to run: $RSYNC -e 'ssh -ax -o ClearAllForwardings=yes' --log-file=$LOG_FILE --delete -avzcr -u --update $SRC_DIR $USER@$TRG_SRV:$TRG_DIR >> $LOG_FILE What I... (4 Replies)
Discussion started by: abubin
4 Replies

7. Shell Programming and Scripting

custom command

hi I am trying to make my own commands in my linux.I thought a command for changing directories will be easy. I made a simple file amd made the entries #!/bin/bash cd /opt/mydir I then made the file executable and then moved it to /usr/bin. But when i type the script name nothing... (2 Replies)
Discussion started by: born
2 Replies

8. AIX

NPIV custom WWN

Hi All :) i would like to know if i can customize the WWN of the new VFC (NPIV). Or, if i must move the LPAR on another server with another FCS, i have to change the zoning?? Thanks in advance. Mario ---------- Post updated 09-21-12 at 02:51 AM ---------- Previous update was 09-20-12 at... (1 Reply)
Discussion started by: Zio Bill
1 Replies

9. Shell Programming and Scripting

Custom Shell

I have a jump off server, which grants SSH access to a few other servers. I would like to create a custom shell which can be assigned to specific user accounts which runs a menu script upon login, where they can select which server they want to jump too, however should they hit ctrl-c or any... (1 Reply)
Discussion started by: JayC89
1 Replies

10. Shell Programming and Scripting

Awking custom output

i have data that can look like this: echo "Master_Item_Service_is_down=0_njava_lang_NoClassDefFoundError=0_njava_lang_OutOfMemoryError=1_nemxCommonAppInitialization__Error_while_initializing=0_nINFO__Stopping_Coyote_HTTP_1_1_on_http_8080=7_nThe_file_or_directory_is_corrupted_and_unreadable=0_n" ... (7 Replies)
Discussion started by: SkySmart
7 Replies
GStreamer::Event::Custom(3pm)				User Contributed Perl Documentation			     GStreamer::Event::Custom(3pm)

NAME
GStreamer::Event::Custom - Structure describing events that are passed up and down a pipeline METHODS
GstEvent = GStreamer::Event::Custom->new ($type, $structure) o $type (GStreamer::EventType) o $structure (GStreamer::Structure) ENUMS AND FLAGS
enum GStreamer::EventType o 'unknown' / 'GST_EVENT_UNKNOWN' o 'flush-start' / 'GST_EVENT_FLUSH_START' o 'flush-stop' / 'GST_EVENT_FLUSH_STOP' o 'eos' / 'GST_EVENT_EOS' o 'newsegment' / 'GST_EVENT_NEWSEGMENT' o 'tag' / 'GST_EVENT_TAG' o 'buffersize' / 'GST_EVENT_BUFFERSIZE' o 'sink-message' / 'GST_EVENT_SINK_MESSAGE' o 'qos' / 'GST_EVENT_QOS' o 'seek' / 'GST_EVENT_SEEK' o 'navigation' / 'GST_EVENT_NAVIGATION' o 'latency' / 'GST_EVENT_LATENCY' o 'step' / 'GST_EVENT_STEP' o 'custom-upstream' / 'GST_EVENT_CUSTOM_UPSTREAM' o 'custom-downstream' / 'GST_EVENT_CUSTOM_DOWNSTREAM' o 'custom-downstream-oob' / 'GST_EVENT_CUSTOM_DOWNSTREAM_OOB' o 'custom-both' / 'GST_EVENT_CUSTOM_BOTH' o 'custom-both-oob' / 'GST_EVENT_CUSTOM_BOTH_OOB' SEE ALSO
GStreamer COPYRIGHT
Copyright (C) 2005-2011 by the gtk2-perl team. This software is licensed under the LGPL. See GStreamer for a full notice. perl v5.14.2 2012-03-01 GStreamer::Event::Custom(3pm)
All times are GMT -4. The time now is 09:40 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy