Sponsored Content
Top Forums Shell Programming and Scripting How to print and append output of nawk script in commandline and as well into a file? Post 302775609 by anbu23 on Tuesday 5th of March 2013 07:10:28 AM
Old 03-05-2013
Use Tee command to send output to console and file

Code:
nawk 'BEGIN    {CmpAr["VerifyInterface"]=2         # some definitions
               CmpAr["CoreFileGenerated"]=3
               CmpAr["VerifyRegister"]=4
               CmpAr["VerifyComponent"]=5
               CmpAr["VerifyServiceAvailability"]=6
               split ("%20s %30s %22s %29s %26s %35s", FMT, " ")
               red="\033[1;31m"
               grn="\033[1;32m"
               rst="\033[0m"
               clr["Failed"]=red
               clr["Passed"]=grn
              }
     #function prt(){printf"|";for (i=0; i<=6; i++) printf FMT[i], clr[OutAr[i]] OutAr[i] rst; printf " |\n" }
function prt(){
        printf"|";for (i=0; i<=6; i++) printf FMT[i], clr[OutAr[i]] OutAr[i] rst;printf " |\n "}
#NR == FNR     {print; next}                  # read & print header
     #($2 in CmpAr) {gsub (" ", "", $1);
      ($2 in CmpAr) {gsub (/[ \t]/,"",$1);
                    OutAr[CmpAr[$2]]=$1;          # put $1 into the right column
                    OutAr[1]=$3}                  # save server name
     FILENAME != oldfn {                          # print if old file ends
                   if (oldfn) prt(); oldfn = FILENAME}
     END              {prt()}                     # print when last file ends
  ' FS=":"   /tmp/*_Daily_Check.log  | tee -a $AUTOMAT_DEST/${date_file}_Daily_Check_result

This User Gave Thanks to anbu23 For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

append field to file(nawk)

I have two files. File A and File B. File A has two fields separated by comma 352020252365988, 652020100572356 546876543215667, 652065465654686 ... File B has many Fields separate by spaces Date Name 352020252365988 Reference Date2 Name2 546876543215667 Reference I want to... (4 Replies)
Discussion started by: axl
4 Replies

2. Shell Programming and Scripting

To parse through the file and print output using awk or sed script

suppose if u have a file like that Hen ABCCSGSGSGJJJJK 15 Cock ABCCSGGGSGIJJJL 15 * * * * * * : * * * . * * * : Hen CFCDFCSDFCDERTF 30 Cock CHCDFCSDHCDEGFI 30 * . * * * * * * * : * * :* : : . The output shud be where there is : and . It shud... (4 Replies)
Discussion started by: cdfd123
4 Replies

3. UNIX for Dummies Questions & Answers

how to print script output to screen and file

Hi all, I have a script that bulk loads thousands of lines of data. I need to log the output during the execution of the script. I know I can redirect (">") the output to a file; however, I want the output going to both the screen and the log file. I thought I could use pipe to pipe the... (10 Replies)
Discussion started by: orahi001
10 Replies

4. Shell Programming and Scripting

How to append the output continously from a script

Hi All, Am using the below script to produce some statistics. Currently it send the results to a log file and sends the contents of the log to a mail ID. Next time when it runs it erases the previous log and writes the latest output to the log file. I want the output to be appended to... (2 Replies)
Discussion started by: nirmal84
2 Replies

5. Shell Programming and Scripting

problem with print append to output file syntax

I'm trying to output the contents of the infile to the outfile using Append. I will want to use append but the syntax doesn't seem to be working ! Input file (called a.txt) contains this: a a a b b b I'm running shell script (called k.sh) from Unix command-line like this: ./k.sh .... (1 Reply)
Discussion started by: script_op2a
1 Replies

6. UNIX for Advanced & Expert Users

Shell Script to compare xml files and print output to a file

All, PLease can you help me with a shell script which can compare two xml files and print the difference to a output file. I have attached one such file for you reference. <Group> <Member ID=":Year_Quad:41501" childCount="4" fullPath="PEPSICO Year-Quad-Wk : FOLDER.52 Weeks Ending Dec... (2 Replies)
Discussion started by: kanthrajgowda
2 Replies

7. Shell Programming and Scripting

Awk script to run a sql and print the output to an output file

Hi All, I have around 900 Select Sql's which I would like to run in an awk script and print the output of those sql's in an txt file. Can you anyone pls let me know how do I do it and execute the awk script? Thanks. (4 Replies)
Discussion started by: adept
4 Replies

8. Shell Programming and Scripting

Append column using awk/nawk

Is there any way I can achieve this? Considering test1 : a 1 2 3 4 b 2 3 4 5 c 12 1232 14 1 d 10 13 4 5 e 1 5 6 9 1 And test to be some string : qw twe tew we qw I want something like this : a 1 2 qw 4 b 2 3 twe 5 (5 Replies)
Discussion started by: aksijain
5 Replies

9. Shell Programming and Scripting

How to Append the output of a script running in remote server to a file in local server?

Hi guys, So i am in server1 and i have to login to server 2, 3,4 and run some script there(logging script) and output its result. What i am doing is running the script in server2 and outputting it to a file in server 2 and then Scp'ing the file to server1. Similarly i am doing this for other... (5 Replies)
Discussion started by: srkmish
5 Replies

10. Programming

Python script to run multiple command and append data in output csv file

Experts, I am writing a script and able to write only small piece of code and not able to collect logic to complete this task. In input file have to look for name like like this (BGL_HSR_901_1AG_A_CR9KTR10) before sh iss neors. Record this (BGL_HSR_901_1AG_A_CR9KTR10) in csv file Now have to... (0 Replies)
Discussion started by: as7951
0 Replies
Tee(3pm)						User Contributed Perl Documentation						  Tee(3pm)

NAME
IO::Tee - Multiplex output to multiple output handles SYNOPSIS
use IO::Tee; $tee = IO::Tee->new($handle1, $handle2); print $tee "foo", "bar"; my $input = <$tee>; DESCRIPTION
"IO::Tee" objects can be used to multiplex input and output in two different ways. The first way is to multiplex output to zero or more output handles. The "IO::Tee" constructor, given a list of output handles, returns a tied handle that can be written to. When written to (using print or printf), the "IO::Tee" object multiplexes the output to the list of handles originally passed to the constructor. As a shortcut, you can also directly pass a string or an array reference to the constructor, in which case "IO::File::new" is called for you with the specified argument or arguments. The second way is to multiplex input from one input handle to zero or more output handles as it is being read. The "IO::Tee" constructor, given an input handle followed by a list of output handles, returns a tied handle that can be read from as well as written to. When written to, the "IO::Tee" object multiplexes the output to all handles passed to the constructor, as described in the previous paragraph. When read from, the "IO::Tee" object reads from the input handle given as the first argument to the "IO::Tee" constructor, then writes any data read to the output handles given as the remaining arguments to the constructor. The "IO::Tee" class supports certain "IO::Handle" and "IO::File" methods related to input and output. In particular, the following methods will iterate themselves over all handles associated with the "IO::Tee" object, and return TRUE indicating success if and only if all associated handles returned TRUE indicating success: close truncate write syswrite format_write formline fcntl ioctl flush clearerr seek The following methods perform input multiplexing as described above: read sysread readline getc gets eof getline getlines The following methods can be used to set (but not retrieve) the current values of output-related state variables on all associated handles: autoflush output_field_separator output_record_separator format_page_number format_lines_per_page format_lines_left format_name format_top_name format_line_break_characters format_formfeed The following methods are directly passed on to the input handle given as the first argument to the "IO::Tee" constructor: input_record_separator input_line_number Note that the return value of input multiplexing methods (such as "print") is always the return value of the input action, not the return value of subsequent output actions. In particular, no error is indicated by the return value if the input action itself succeeds but subsequent output multiplexing fails. EXAMPLE
use IO::Tee; use IO::File; my $tee = new IO::Tee(*STDOUT, new IO::File(">tt1.out"), ">tt2.out"); print join(' ', $tee->handles), " "; for (1..10) { print $tee $_, " " } for (1..10) { $tee->print($_, " ") } $tee->flush; $tee = new IO::Tee('</etc/passwd', *STDOUT); my @lines = <$tee>; print scalar(@lines); AUTHOR
Chung-chieh Shan, ken@digitas.harvard.edu COPYRIGHT
Copyright (c) 1998-2001 Chung-chieh Shan. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO
perlfunc, IO::Handle, IO::File. perl v5.12.3 2001-03-10 Tee(3pm)
All times are GMT -4. The time now is 05:22 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy