06-13-2007
Another explanation to accompany. I wrote to a work colleague which might find useful:
--------------
Basically, an awk script is this:
------------
BEGIN{}
/<search string>/
{ <put your code in here> }
/<search string 2>/
{ <put your code in here> }
------------
And that's it!
Now, if you then run this awk file
(using "awk -f your.awk file.to.process > file.to.output")....
suppose your file to process is 3 lines of data:
ABC
DEF
GHI
When you run the command, the process is basically like this:
process reads in line 'ABC', goes to awk.file and says 'begin.....ok......search string...ok....search string 2....ok....finish'
then, process reads in line 'DEF', goes to awk.file and says 'begin.....ok.....search string....ok....search string 2......ok....finish'
then ......
contine until the end of the input file!
That's all it does!
So now, you can do stuff like:
BEGIN{}
/ABC/{
printf("go away")
}
/GHI/{
printf("hello again")
}
So basically, awk scripts treat each line in the file like a record.
The search strings are basically - is 'ABC' in this line? - if it is, carry out the code underneath
Within the record, each record has fields.
In awk, fields are delimited by space (which you can set to something else if req.)
So this line
"grep 'who is your daddy?'"
will have five fields
$1 = grep
$2 = 'who
$3 = is
$4 = your
$5 = daddy?'
$0 is the whole record.
So you can do stuff like
printf($4) and all that kind of stuff.
That's it.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Alrigt, I need to write a shell script where it counts the number of folders and files and dispays "My home directory has 'x' files and 'y' directories."
So, I was thinking of doing this.
set x = `ls | wc`
so, if I have 8 files and folders in my home directory, x is not 8.
now, I was... (1 Reply)
Discussion started by: Lykathea Aflame
1 Replies
2. Programming
Anyone know where I can get started in C++ programming in unix?
Any good free tutorials or websites to start at?
I am okay in unix scripting but have never done c programming of any sort...
What are the main advantages of using C++ ? (2 Replies)
Discussion started by: frustrated1
2 Replies
3. UNIX for Dummies Questions & Answers
hi guys,
i have a DEl xps laptop cor 2 duo 2.2
i have vista installed on it
i want to install a dual Boot UNIX on it..
can some one guide me ...cause i m tottaly new to UNIX
i want to install unix on that laptop along with Vista....
thx
any help would be deeply appreciated
(sorry if i... (5 Replies)
Discussion started by: Farhan082
5 Replies
4. Shell Programming and Scripting
I need to write a script to test a nsort c program. I have written 8 .txt files with different cases. Also 8 .txt files with expected outcome. The shell I have written always "test pass" for the first case but always "fail" for the rest... Here is a portion of my code (as I still don't know how to... (5 Replies)
Discussion started by: thibodeau
5 Replies
5. UNIX for Dummies Questions & Answers
Hi people....
I have just started to learn unix.I want to know which version of Unix to install plus how to install it.I need to practise and make myself aware of how unix works.My thread is from an educational point of view.Also please feel free to give your suggestions as I am... (3 Replies)
Discussion started by: amit.kanade1983
3 Replies
6. Shell Programming and Scripting
Hello,
I am trying to write a script that reads names from a file called input, removes names if they have the same letter next to each other and prints the others.
e.g. Colin & John would be printed
Garry & Lynn would be removed
My thinking is that I read in each name and... (3 Replies)
Discussion started by: colinireland
3 Replies
7. Shell Programming and Scripting
Hi All,
I have just now started learning awk from the source - Awk - A Tutorial and Introduction - by Bruce Barnett
and the bad part is that I am stuck on the very first example for running the awk script.
The script is as -
#!/bin/sh
# Linux users have to change $8 to $9
awk '
BEGIN ... (6 Replies)
Discussion started by: csrohit
6 Replies
8. Shell Programming and Scripting
I am going to learn AWK for Pattern search (extracting strings ) related activities. I think that is what AWK is used for anyway.
What book/similair resource would you suggest for a beginner ? (4 Replies)
Discussion started by: omega3
4 Replies
9. UNIX for Dummies Questions & Answers
Hi,
I think I need to use AWK - however I have no experience of it. Can someone help please?
I have a file like this but with many more records - it is fixed width
THIS15021X 799999 XX 00000099999 00008888888 XX 15022013
THISQ15021X 999999 XX 00000099999... (7 Replies)
Discussion started by: mcclunyboy
7 Replies
10. Red Hat
i have windows 8 host on Dell Laptop
vmware 9
redhat 7.2 iso downloaded through redhat official site
after installation on vm it only boots into text dont show graphics
Please guide:( (1 Reply)
Discussion started by: hananabbas
1 Replies
IGAWK(1) Utility Commands IGAWK(1)
NAME
igawk - gawk with include files
SYNOPSIS
igawk [ all gawk options ] -f program-file [ -- ] file ...
igawk [ all gawk options ] [ -- ] program-text file ...
DESCRIPTION
Igawk is a simple shell script that adds the ability to have ``include files'' to gawk(1).
AWK programs for igawk are the same as for gawk, except that, in addition, you may have lines like
@include getopt.awk
in your program to include the file getopt.awk from either the current directory or one of the other directories in the search path.
OPTIONS
See gawk(1) for a full description of the AWK language and the options that gawk supports.
EXAMPLES
cat << EOF > test.awk
@include getopt.awk
BEGIN {
while (getopt(ARGC, ARGV, "am:q") != -1)
...
}
EOF
igawk -f test.awk
SEE ALSO
gawk(1)
Effective AWK Programming, Edition 1.0, published by the Free Software Foundation, 1995.
AUTHOR
Arnold Robbins (arnold@skeeve.com).
Free Software Foundation Nov 3 1999 IGAWK(1)