Sponsored Content
Top Forums Shell Programming and Scripting Begin/End blocks in awk: confused Post 302882406 by RudiC on Monday 6th of January 2014 04:49:00 PM
Old 01-06-2014
awk takes a set of files as arguments, which altogether present a stream of lines to it. Line after line is processed, with the internal FILENAME variable changing if need be (if switching to the next file).
Before any of the lines of the stream is read, ALL of the BEGIN actions are being processed. You can use this to initialize variables, print headers, what have you.
After the last line of the entire stream, possibly consisting of many a file, ALL the END actions will be processed, e.g. for printing totals. That means, you can calculate your count[$2]++ during normal processing, and at the END, print out (in whatever structure) what you have computed so far.
And it looks to me as if that's exactly what that code snippet you presented is doing...
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

BEGIN END questions

Why would you need to use this in a script? Why can't you just use print to print out what you want printed in the begining and print for what you want at the end. So this: nawk 'BEGIN {print "this is the first line"} {print $1 $2 $3} {print $5 $6} END {print "this is the last line"}' ... (2 Replies)
Discussion started by: llsmr777
2 Replies

2. Shell Programming and Scripting

begin end detection

Hi all, i am new to scripting. i need to write a code to detect begin and end of word that either begins or ends with t,th,d,dh,s,sh i have a set of words in a file containg one word per line. let the filename be aaa.txt. i have an another file bbb.txt which has two lines, just specifying the... (7 Replies)
Discussion started by: blkanth
7 Replies

3. Shell Programming and Scripting

awk BEGIN END and string matching problem

Hi, Contents of BBS-list file: foo foo foo awk ' BEGIN { print "Analysis of \"foo\"" } /foo/ { ++n } END { print "\"foo\" appears", n, "times." }' BBS-list Output: Analysis of "foo" "foo" appears 3 times. awk ' (3 Replies)
Discussion started by: cola
3 Replies

4. Shell Programming and Scripting

Use of Begin IF ,END IF END not working in the sql script

Hi I have written a script .The script runs properly if i write sql queries .But if i use PLSQL commands of BEGIN if end if , end ,then on running the script the comamds are getting printed on the prompt . Ex :temp.sql After connecting to the databse at the sql prompt i type... (1 Reply)
Discussion started by: isha_1
1 Replies

5. UNIX for Dummies Questions & Answers

Dump to another file for a begin and end Pattern

Hi All , I am newbie to linux shell scripting , below are the contents of my log file , i want the lines between a begin pattern and a end pattern for an instance , my begin Pattern is "Transaction Begins for Usr" and end pattern is "Transaction Ends for Usr" into another file Sample file... (1 Reply)
Discussion started by: SARAVANANE
1 Replies

6. Shell Programming and Scripting

strange: sed and awk print at end instead of begin of line

Hi! I have a strange behaviour from sed and awk, but I'm not sure, if I'm doing something wrong: I have a list of words, where I want to add the following string at the end of each line: \;\;\;\;0\;1 I try like this: $ cat myfile | awk '{if ( $0 != "" ) print $0"\;\;\;\;0\;1"}' Result:... (5 Replies)
Discussion started by: regisl67
5 Replies

7. Shell Programming and Scripting

Get the sum of values in between begin and end in the file

Hi All, test file Begin Script Run at Thu Mar 14 09:24:16 PDT 2013 tst_accounts: ws zip: WS_out_20130313.tar.gz dat: test_20130313.dat count: 63574 loaded: xx pre-merge: xx post-merge: xx timestamp: Thu Mar 14 09:30:42 PDT 2013 tst_accounts: ws zip: WS_out_20130313.tar.gz dat: s_20130313.dat... (6 Replies)
Discussion started by: bmk
6 Replies

8. Shell Programming and Scripting

BEGIN and END format in awk

I'm new to awk, trying to understand the basics. I'm trying to reset the counter everytime the program gets a new file to check. I figured in the BEGIN part it would work, but it doesn't. #!/bin/awk -f BEGIN {counter=0} { sum=0 for ( i=1; i<=NF;... (1 Reply)
Discussion started by: guitarist684
1 Replies

9. Shell Programming and Scripting

Search ad replace using begin and end of the file

Hello Friends , Please help to create script for compare and replace if not matches of set of lines . * Primary* Servername Server1 Location R201 Rack 4 *End Primary* *Secondary* Server Name Server1 IPAddress 10.24.30.10 Application Apache *End of Secondary* Above... (4 Replies)
Discussion started by: rnary
4 Replies

10. Shell Programming and Scripting

In ksh script what is this BEGIN and END in this function?

Can Someone please explain why BEGIN and END statement is used inside function? How does that help in scripting? function fileformatting { CleanupMask="xXxX" sed 's/^.//' < ${AllFile} > ${AllFile}.tmp echo $(wc -l ${AllFile}.tmp) `awk -v CleanupMask=${CleanupMask} ' BEGIN... (2 Replies)
Discussion started by: later_troy
2 Replies
mailq(1)						      General Commands Manual							  mailq(1)

NAME
mailq - prints the mail queue SYNOPSIS
DESCRIPTION
prints a summary of the mail messages queued for future delivery. The first line printed for each message shows the internal identifier used on this host for the message, the size of the message in bytes, the date and time the message was accepted into the queue, and the envelope sender of the message. The second line shows the error message that caused this message to be retained in the queue; it will not be present if the message is being processed for the first time. The status characters are: to indicate that the job is being processed to indicate that the load is too high to process the job to indicate that the job is too new in the queue to process. The output lines that follow the second line show the message recipients, one per line. is identical to Options The supported options are: Show the mail submission queue specified in the file instead of the MTA queue specified in the file. Show the lost items in the mail queue instead of normal queue items. Show the quarantined items in the mail queue instead of the normal queue items. Limit processed jobs to those containing substr as a substring of the queue ID or not when is specified. Limit processed jobs to quarantined jobs containing substr as a substring of the quarantine reason or not when is specified. Limit processed jobs to those containing substr as a substring of one of the recipients or not when is specified. Limit processed jobs to those containing substr as a substring of the sender or not when is specified. Print verbose information. This adds the priority of the message and a single character indicator or blank) indicating whether a warning message has been sent on the first line of the message. In addition, extra lines may be intermixed with the recipients indicating the `controlling user' information. This shows who owns the programs that are executed on behalf of this message and the name of the alias this command expanded from, if any. RETURN VALUE
The utility exits with 0 on success, and >0 if an error occurs. AUTHOR
was developed by the University of California, Berkeley, and originally appeared in 4.0BSD. FILES
mail queue files for SEE ALSO
sendmail(1M). mailq(1)
All times are GMT -4. The time now is 07:14 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy