Sponsored Content
Full Discussion: awk printf format in columns
Top Forums Shell Programming and Scripting awk printf format in columns Post 302635097 by neutronscott on Friday 4th of May 2012 09:02:11 AM
Old 05-04-2012
About the "for" question --
When writing more than a one-liner, give variables clear names. You can see, you've count[] and e[] both using $6. So yes you can combine them.

Code:
*******************************************************************
        Message name |     Number of errors | Number of unique IPs
*******************************************************************
GENERAL_ERROR_23     |                    1 |                    1
ERROR_22             |                    1 |                    1
INVALID_NUMBER       |                    1 |                    1
FAILURE              |                    5 |                    2
*******************************************************************
           Recharged |      200 |      300 |      500 |     1100
                     |        0 |        1 |        1 |        1
*******************************************************************
test unsuccessful              8
test successful                3
*******************************************************************

Code:
#!/usr/bin/awk -f
BEGIN {
        FS=";"
        recharge[200]=recharge[300]=recharge[500]=recharge[1100]=0
}
NF==5 { success++ }
NF>5 { error++; $6=toupper($6); error_by_type[$6]++ }
# count unique ip:error
NF>5 && !ip_err[$6,$2]++ { error_by_ip[$6]++ }
# count recharge
(i=int($4+0.5)) && (i in recharge) { recharge[i]++ }
END {
        # make line separator
        while (length(hr) < 67) hr=hr"*"
        print hr
        printf("%20s | %20s | %20s\n", "Message name", "Number of errors",
                "Number of unique IPs");
        print hr
        for (e in error_by_type)
                printf("%-20s | %20d | %20d\n", e, error_by_type[e],
                        error_by_ip[e])
        print hr
        printf("%20s | %8d | %8d | %8d | %8d\n", "Recharged", 200,300,500,1100)
        printf("%20s | %8d | %8d | %8d | %8d\n", "",
                recharge[200],recharge[300],recharge[500],recharge[1100])
        print hr
        printf("%-30s %-6d\n", "test unsuccessful ", error)
        printf("%-30s %-6d\n", "test successful ", success)
        print hr
}

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

printf format

hi, i would like to extract the header and put it in a variable, then use printf to output the variable, but i keep on getting errors...please tell me if my format is incorrect. HDR = "`ps -e -o user,pid,ppid,pcpu,stime,etime,time,comm | head -n 1`" printf (%s, $HDR); thanks! (3 Replies)
Discussion started by: laila63
3 Replies

2. Shell Programming and Scripting

KSH printf: columns and colors

Ih all, I need to make a ksh script with colors, it is possible with printf to combine column and colors ? i seem not working, I think i dont doing the good thing: printf -n "%-15s %-20s %-20s\n" "\033 the position is ok Name______Age________Site ----________---_________---- Bob... (2 Replies)
Discussion started by: wolfhurt
2 Replies

3. Shell Programming and Scripting

awk printf formatting using string format specifier.

Hi all, My simple AWK code does C = A - B If C can be a negative number, how awk printf formating handles it using string format specifier. Thanks in advance Kanu :confused: (9 Replies)
Discussion started by: kanu_pathak
9 Replies

4. Shell Programming and Scripting

How to format the output using float in awk{printf}

Hi I'm using awk to manipulate the data in the 6th field of the file xxx_yyy.hrv. The sample data that is available in this field is given below 220731.7100000000000000 When i tried using this command cat xxx_yyy.hrv | awk '{printf("%23.16f\n",$6*-1)}' I get the output as... (4 Replies)
Discussion started by: angelarosh
4 Replies

5. Shell Programming and Scripting

How to format columns using AWK

Hi, How to format something like this: John Roberts 324-141-984 Acct Jack Williams 159-555-555 Acct William Jackson 949-911-888 Acct Mark J Walton 145-852-252 Acct Fred P Milton 483-244-390 Acct Bill P J Miller 404-050-223 Acct into... (12 Replies)
Discussion started by: ora_umair
12 Replies

6. Shell Programming and Scripting

printf to format lines.

Hey, I'm trying to read printf(3) and seems I need to use the * WIDTH but I'm not quite sure how to go about it. there needs to be 3 fields per line, the lines read in from file looks like this: JUICE - APPLE:JUST JUICE:7 MILK - CHOCOLATE:BREAKA:7 this needs to be output backwards with... (6 Replies)
Discussion started by: gcampton
6 Replies

7. Shell Programming and Scripting

Assigning a specific format to a specific column in a text file using awk and printf

Hi, I have the following text file: 8 T1mapping_flip02 ok 128 108 30 1 665000-000008-000001.dcm 9 T1mapping_flip05 ok 128 108 30 1 665000-000009-000001.dcm 10 T1mapping_flip10 ok 128 108 30 1 665000-000010-000001.dcm 11 T1mapping_flip15 ok 128 108 30... (2 Replies)
Discussion started by: goodbenito
2 Replies

8. Shell Programming and Scripting

awk with printf

Hi, I am using the following code to assign a count value to a variable. But I get nothing. Do you see anything wrong here. I am new to all this. $CTR=`remsh $m -l $MACHINES{$m} -n cat $output | grep -v sent | grep \"$input\" | sort -u | awk '{print $5}'`; Upto sort - u it's... (2 Replies)
Discussion started by: nurani
2 Replies

9. UNIX for Dummies Questions & Answers

awk printf in required format

Hi my awk variable $0 contains the below data Input file 000001 The Data 000002* The line 2 000003* The line3 output file Req 000001* The Data 000002** The line 2 000003** The line3 one * at column seven needs to be appended to the input lines, (5 Replies)
Discussion started by: rakeshkumar
5 Replies

10. Shell Programming and Scripting

printf format with awk

Hello Here is an easy one Data file 12345 (tab) Some text (tab) 53.432 23456 (tab) Some longer text (tab) 933.422 34567 (tab) Some different text (tab) 29.309 I need to awk these three tab-delimited columns so that the first two are unchanged (unformatted) and the third shows two decimal... (1 Reply)
Discussion started by: palex
1 Replies
OCF_HEARTBEAT_POSTFI(7) 					OCF resource agents					   OCF_HEARTBEAT_POSTFI(7)

NAME
ocf_heartbeat_postfix - Manages a highly available Postfix mail server instance SYNOPSIS
postfix [start | stop | monitor | meta-data | validate-all] DESCRIPTION
This script manages Postfix as an OCF resource in a high-availability setup. SUPPORTED PARAMETERS
binary Full path to the Postfix binary. For example, "/usr/sbin/postfix". (optional, string, default "/usr/sbin/postfix") config_dir Full path to a Postfix configuration directory. For example, "/etc/postfix". (unique, optional, string, no default) parameters The Postfix daemon may be called with additional parameters. Specify any of them here. (optional, string, no default) SUPPORTED ACTIONS
This resource agent supports the following actions (operations): start Starts the resource. Suggested minimum timeout: 20s. stop Stops the resource. Suggested minimum timeout: 20s. reload Suggested minimum timeout: 20s. monitor Performs a detailed status check. Suggested minimum timeout: 20s. Suggested interval: 60s. validate-all Performs a validation of the resource configuration. Suggested minimum timeout: 20s. meta-data Retrieves resource agent metadata (internal use only). Suggested minimum timeout: 5s. EXAMPLE
The following is an example configuration for a postfix resource using the crm(8) shell: primitive p_postfix ocf:heartbeat:postfix op monitor depth="0" timeout="20s" interval="60s" SEE ALSO
http://www.linux-ha.org/wiki/postfix_(resource_agent) AUTHOR
Linux-HA contributors (see the resource agent source for information about individual authors) resource-agents UNKNOWN 06/09/2014 OCF_HEARTBEAT_POSTFI(7)
All times are GMT -4. The time now is 04:32 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy