Server Administration
  Home arrow Server Administration arrow Understanding Awk in the UNIX Shell
Codewalker Forums 
  Tutorials  
Database Articles  
Miscellaneous  
Navigation Usability  
PEAR Articles  
Programming Basics  
Server Administration  
XML Tutorials  
  Reviews  
Database Book Reviews  
Linux Book Reviews  
Miscellaneous Reviews  
PHP Book Reviews  
PHP Software Reviews  
Server Admin Reviews  
SQL Tool Reviews  
  Code Gallery  
Content Management Code  
Contest Code  
Counters Code  
Database Code  
Date Time Code  
Discussion Board Code  
Email Code  
File Manipulation Code  
GUI Code  
Link Farm Code  
Miscellaneous Code  
Search Code  
Site Navigation Code  
User Management Code  
Mobile Linux 
Case Studies 
iPad Development 
Download TestComplete 
Forums Sitemap 
Weekly Newsletter 
 
Developer Updates  
Free Website Content 
 RSS  Articles
 RSS  Forums
 RSS  All Feeds
Write For Us Get Paid 
Request Media Kit
Contact Us 
Site Map 
Privacy Policy 
Support 
 USERNAME
 
 PASSWORD
 
 
  >>> SIGN UP!  
  Lost Password? 
SERVER ADMINISTRATION

Understanding Awk in the UNIX Shell
By: Gabor Bernat
  • Search For More Articles!
  • Disclaimer
  • Author Terms
  • Rating: 4 stars4 stars4 stars4 stars4 stars / 4
    2009-12-02

    Table of Contents:
  • Understanding Awk in the UNIX Shell
  • The structure of Awk
  • Patterns
  • Commands and variables

  • Rate this Article: Poor Best 
      ADD THIS ARTICLE TO:
      Del.ici.ous Digg
      Blink Simpy
      Google Spurl
      Y! MyWeb Furl
    Email Me Similar Content When Posted
    Add Developer Shed Article Feed To Your Site
    Email Article To Friend
    Print Version Of Article
    PDF Version Of Article
     
     
    ADVERTISEMENT


    Understanding Awk in the UNIX Shell


    (Page 1 of 4 )

    So what is awk, and what does it have to do with UNIX? Plenty, as you'll soon learn. It is a tool that helps you get certain tasks done in the UNIX shell. But it's no mere tool; it's so developed that it's a programming language in its own right. Keep reading to learn how to make the most of awk.

    The core idea in the creation of any programming/scripting language is to make it as natural and as simple as possible. Still, it should allow the construction of advanced expressions for solving complex problems. The creators of the UNIX Shell script language did not forgot these two simple principles. For the sake of simplicity some parts are broken down into multiple sub-parts. Sometimes these sub-parts evolve and grow to form their own programming language.

    A prime example for this is Awk. The name "awk" comes from the starting letters of the names of the three creators: Aho - Weinberg - Kernighan. These people defined it as "awk, a pattern scanning and processing language." Besides setting a concrete purpose for the tool, this also underlines the fact that awk has its own syntax and rules. With this, it becomes a programming language on its own.

    Awk was designed to scan and process files like the .cvs, where data are organized into columns and rows. However, doing the same with any other source of organized data in this structure is a valid option (as in the case of the command ls -l). The principle behind awk is to divide an input stream into rows and records and make the changes on this.

    Last time I presented the stream editor, which accomplished the row splitting. However, compared to the sed, awk is a much more complex, powerful and more capable language. The record extraction allows us to throw away the unnecessary and process only the useful information from a file/UNIX tool.

    Awk is a scripting language, and is best for solving small everyday problems. Its three creators do not recommend it for use in big, complex problem solving. However, there are long lists of problems that can be solved with it. It also has a couple of other advantages when compared to other tools, like the sed. For instance, it can work with real numbers and follow a very C-like syntax.

    In this and a future article I will try to present it as concisely as I can without leaving out any crucial parts of awk. Remember that this article is only designed to introduce to you this language on a basic level. I do not intend to show you every corner of the scripting language. Nevertheless, this will be enough for you to use it in the everyday problems you may come across in the future.

    More Server Administration Articles
    More By Gabor Bernat


     

    SERVER ADMINISTRATION ARTICLES

    - Understanding Awk in the UNIX Shell
    - Stream Editor in the UNIX Shell
    - Processes in the UNIX Shell
    - Migrating from Windows to Wine
    - Wine: Not Another Emulator
    - Preventive Measures to Block SSH Attacks
    - Monitoring Temperatures with Cacti
    - Cacti: RRDTool-based Graphing Solution
    - Network Magic 5.0 Review
    - Netfilter and Iptables Overview
    - Installing and Configuring Squid
    - Clickfree PC Backup Systems Compared
    - Squid, the Caching Proxy
    - Regular Expressions in the Unix Shell
    - Source Code Version Control Solutions





    © 2003-2010 by Developer Shed. All rights reserved. DS Cluster 11 Hosted by Hostway
    For more Enterprise Application Development news, visit eWeek