Sponsored Content
Top Forums Shell Programming and Scripting Help using SYSTEM function in NAWK Post 302484857 by m.d.ludwig on Monday 3rd of January 2011 12:49:08 PM
Old 01-03-2011
In your requirements, you stated:
Quote:
Originally Posted by aschera
<snip>
Finally, if any errors were detected, this temporary file is then appended to the errorFile.
<snip>
and the proposed to the system() call was:
Quote:
Originally Posted by anurag.singh
<snip>
Code:
cmd="cp " TMP " " ERR;
if (error>0) system(cmd)

<snip>
While correct, you do realize that cp overwrites the errorFile with tempFile -- it does not append. May I suggest:
Code:
#!/usr/bin/bash
ERRFILE="errorFile"

nawk -v ERR=$ERRFILE '{
  ... scan each field for errors
  print $1, "Error message ..." >> ERR
  print $2, "Error message ..." >> ERR
  ...
}' xx.txt

This will append the errors to errorFile, which is only created if an error is found.
 

10 More Discussions You Might Find Interesting

1. Programming

system() function call...

Hi, Though I should check this myself.. but I don't have a cc compiler at this time.. :( When I compile a c program containing say system(myshell.sh).. do the executable require that the actual script myshell.sh to be present whenever it executes? I guess it needs.. otherwise I can just... (1 Reply)
Discussion started by: Vishnu
1 Replies

2. Shell Programming and Scripting

Nawk user-defined function

HELP!!!! I am in an on-line shell programming class and have a question. Here is the data: Mike Harrington:(510) 548-1278:250:100:175 Christian Dobbins:(408) 538-2358:155:90:201 Susan Dalsass:(206) 654-6279:250:60:50 (There are 12 contribuors total) This database contains names, phone... (1 Reply)
Discussion started by: NewbieGirl
1 Replies

3. Programming

system function in c

Hai Friends I have used the function system() to execute a command. My requirement is that i have to list the files in a directory applying some wildcard paterns. For example if i want to list *.c files i go with the function system("ls *.c"); and the output gets printed on the monitor.... (1 Reply)
Discussion started by: collins
1 Replies

4. UNIX for Dummies Questions & Answers

System() function in <stdlib.h>

Hi, guys ,, I want to know the implementation of System() function in C Unix, and its prototype definition: int system(const char * string) in the header file <stdlib.h> ??! please help me ! because that is part of my project !! (0 Replies)
Discussion started by: someone33
0 Replies

5. Shell Programming and Scripting

Nawk Time Function

Hi All, I am using solaris and nawk. Is there any time function in nawk which is simliar to the shell `date` function ? Can any experts show any examples? (4 Replies)
Discussion started by: Raynon
4 Replies

6. Shell Programming and Scripting

NAWK getline function

Hi, I am using a Solaris OS here. My intention is to print the 2nd field if the first field matches "APPLE=". I am using the "getline" function here (shown below), but it doesn;t work. Can any experts give me some advice? Input: ORANGE= 10 APPLE= 20 MANGO= 30 GRAPES= 40 Output: 20 ... (5 Replies)
Discussion started by: Raynon
5 Replies

7. UNIX for Dummies Questions & Answers

How to use ${?} and system() function???

Hi All, I am in a process to send the mail automatically with an attachment to bulk users. I have used 'Mailx' and 'Unencode' commands for the same and those worked fine. Please find below the same. X " ( cat /sastemp/body.txt; uuencode test.xls test.xls ) | mailx -s 'testing'... (1 Reply)
Discussion started by: manas6
1 Replies

8. Shell Programming and Scripting

NAWK - looping with match() function

i'm trying to use the "before" output from the match() function as part of the results of each Regex match... but... My input data: (from an input file) i only show the first record in my file.. all other records are similar. mds_ar/bin/uedw92wp.ksh:cat $AI_SQL/wkly_inqry.sql... (2 Replies)
Discussion started by: danmauer
2 Replies

9. UNIX for Dummies Questions & Answers

Using system function in C

Hi Guys , I want to use system function in C to do the following work. cp <file1> <file2> and then ><file1> e,g cp \var\log\cpm_cpmd_1.log.1 \var\log\cpm_cpmd_1.log.2 and then >\var\log\cpm_cpmd_1.log.1 1. g_config_info.cpmm_config.cpm_log_path=\var\log\ 2. ... (3 Replies)
Discussion started by: meet123321
3 Replies

10. Shell Programming and Scripting

Nawk Problem - nawk out of space in tostring on

Hi.. i am running nawk scripts on solaris system to get records of file1 not in file2 and find duplicate records in a while with the following scripts -compare nawk 'NR==FNR{a++;next;} !a {print"line"FNR $0}' file1 file2duplicate - nawk '{a++}END{for(i in a){if(a-1)print i,a}}' file1in the middle... (12 Replies)
Discussion started by: Abhiraj Singh
12 Replies
Error(3pm)						User Contributed Perl Documentation						Error(3pm)

NAME
Tk::Error - Method invoked to process background errors SYNOPSIS
Customization: require Tk::ErrorDialog; or sub Tk::Error { my ($widget,$error,@locations) = @_; ... } DESCRIPTION
The Tk::Error method is invoked by perl/Tk when a background error occurs. Two possible implementations are provided in the distribution and individual applications or users can (re)define a Tk::Error method (e.g. as a perl sub) if they wish to handle background errors in some other manner. A background error is one that occurs in a command that didn't originate with the application. For example, if an error occurs while executing a callback specified with a bind or a after command, then it is a background error. For a non-background error, the error can simply be returned up through nested subroutines until it reaches the top-level code in the application; then the application can report the error in whatever way it wishes. When a background error occurs, the unwinding ends in the Tk library and there is no obvious way for Tk to report the error. When Tk detects a background error, it saves information about the error and invokes the Tk::Error method later when Tk is idle. Tk::Error is invoked by perl/Tk as if by the perl code: $mainwindow->Tk::Error("error message", location ...); $mainwindow is the MainWindow associated with widget which detected the error, "error message" is a string describing the error that has been detected, location is a list of one or more "locations" which describe the call sequence at the point the error was detected. The locations are a typically a mixture of perl location reports giving script name and line number, and simple strings describing locations in core Tk or perl/Tk C code. Tk will ignore any result returned by the Tk::Error method. If another error occurs within the Tk::Error method (for example if it calls die) then Tk reports this error itself by writing a message to stderr (this is to avoid infinite loops due to any bugs in Tk::Error). If several background errors accumulate before Tk::Error is invoked to process them, Tk::Error will be invoked once for each error, in the order they occurred. However, if Tk::Error calls Tk->break, then any remaining errors are skipped without calling Tk::Error. The Tk module includes a default Tk::Error subroutine that simply reports the error on stderr. Tk::ErrorDialog An alternate definition is provided via: "require Tk::ErrorDialog;" that posts a dialog box containing the error message and offers the user a chance to see a stack trace showing where the error occurred. This is an OO implementation of the Tcl/Tk command bgerror, with a twist: since there is only one ErrorDialog widget, you aren't required to invoke the constructor to create it; it will be created automatically when the first background error occurs. However, in order to configure the -cleanupcode and -appendtraceback ErrorDialog options you must call the constructor and create it manually. The ErrorDialog object essentially consists of two subwidgets: a Dialog widget to display the background error and a Text widget for the traceback information. If required, you can invoke various widget methods to customize these subwidgets - their advertised names are described below. $mw->ErrorDialog(-cleanupcode => code, -appendtraceback => bool); $mw is a window reference. code is a CODE reference if special post-background error processing is required (default is undefined). The callback subroutine is called with @_ having the same arguments that Tk::Error was invoked with. bool is a boolean indicating whether or not to append successive tracebacks (default is 1, do append). Advertised ErrorDialog widgets error_dialog is the Dialog widget reference. text is the Text widget reference containing the traceback information. BUGS
If after or fileevent are not invoked as methods of a widget then perl/Tk is unable to provide a $mainwindow argument. To support such code from earlier versions of perl/Tk perl/Tk therefore calls Tk::Error with string 'Tk' instead: Tk->Tk::Error(...). In this case the Tk::Error in Tk::ErrorDialog and similar implementations cannot "popup" a window as they don't know which display to use. A mechanism to supply the MainWindow in applications which only have one (a very common case) should be provided. SEE ALSO
Tk::bind Tk::after Tk::fileevent KEYWORDS
background error, reporting perl v5.14.2 2010-05-29 Error(3pm)
All times are GMT -4. The time now is 07:04 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy