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
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
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
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
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
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
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
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
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
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
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)