Awk was developed in 1977 at Bell Labs, and it's still a remarkably useful tool for solving a wide variety of problems quickly and efficiently. In this update of the classic Awk book, the creators of the language show you what Awk can do and teach you how to use it effectively. Here's what programmers today are saying: "I love Awk." "Awk is amazing." "It is just so damn good." "Awk is just right." "Awk is awesome." "Awk has always been a language that I loved." It's easy: "Simple, fast and lightweight." "Absolutely efficient to learn because there isn't much to learn." "3-4 hours to learn the language from start to finish." "I can teach it to new engineers in less than 2 hours." It's productive: "Whenever I need to do a complex analysis of a semi-structured text file in less than a minute, Awk is my tool." "Learning Awk was the best bang for buck investment of time in my entire career." "Designed to chew through lines of text files with ease, with great defaults that minimize the amount of code you actually have to write to do anything." It's always available: "AWK runs everywhere." "A reliable Swiss Army knife that is always there when you need it." "Many systems lack Perl or Python, but include Awk." Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Les mer
Preface ix Chapter 1: An Awk Tutorial 11.1 Getting Started 11.2 Simple Output 41.3 Formatted Output 71.4 Selection 81.5 Computing with Awk 101.6 Control-Flow Statements 131.7 Arrays 161.8 Useful One-liners 171.9 What Next? 19 Chapter 2: Awk in Action 212.1 Personal Computation 212.2 Selection 232.3 Transformation 252.4 Summarization 272.5 Personal Databases 282.6 A Personal Library 312.7 Summary 34 Chapter 3: Exploratory Data Analysis 353.1 The Sinking of the Titanic 363.2 Beer Ratings 413.3 Grouping Data 433.4 Unicode Data 453.5 Basic Graphs and Charts 473.6 Summary 49 Chapter 4: Data Processing 514.1 Data Transformation and Reduction 514.2 Data Validation 574.3 Bundle and Unbundle 594.4 Multiline Records 604.5 Summary 66 Chapter 5: Reports and Databases 675.1 Generating Reports 675.2 Packaged Queries and Reports 735.3 A Relational Database System 755.4 Summary 83 Chapter 6: Processing Words 856.1 Random Text Generation 856.2 Interactive Text-Manipulation 906.3 Text Processing 926.4 Making an Index 996.5 Summary 105 Chapter 7: Little Languages 1077.1 An Assembler and Interpreter 1087.2 A Language for Drawing Graphs 1117.3 A Sort Generator 1137.4 A Reverse-Polish Calculator 1157.5 A Different Approach 1177.6 A Recursive-Descent Parser for Arithmetic Expressions 1197.7 A Recursive-Descent Parser for a Subset of Awk 1227.8 Summary 126 Chapter 8: Experiments with Algorithms 1298.1 Sorting 1298.2 Profiling 1428.3 Topological Sorting 1448.4 Make: A File Updating Program 1488.5 Summary 153 Chapter 9: Epilogue 1559.1 Awk as a Language 1559.2 Performance 1579.3 Conclusion 160 Appendix A: Awk Reference Manual 163A.1 Patterns 165A.2 Actions 176A.3 User-Defined Functions 196A.4 Output 197A.5 Input 202A.6 Interaction with Other Programs 207A.7 Summary 208 Index 209
Les mer

Produktdetaljer

ISBN
9780138269722
Publisert
2023-10-31
Utgave
2. utgave
Utgiver
Vendor
Addison Wesley
Vekt
415 gr
Høyde
230 mm
Bredde
178 mm
Dybde
13 mm
Aldersnivå
P, 06
Språk
Product language
Engelsk
Format
Product format
Heftet
Antall sider
240

Biographical note

Alfred V. Aho is Lawrence Gussman Professor Emeritus of Computer Science at Columbia University, and former department chair. Well known for his work on algorithms, data structures, programming languages, compilers, and the foundations of computer science, he has received the ACM A. M. Turing Award and the IEEE John von Neumann Medal.

Brian W. Kernighan was a member of the Computing Science Research Center at Bell Labs and is currently a professor in the Computer Science department at Princeton. He is the co-creator of several programming languages and the co-author of numerous books, including the computing classic, The C Programming Language.

Peter J. Weinberger, currently at Google, has served as chief technology officer at Renaissance Technologies and as leader of computer science research at Bell Labs. He is a Fellow of the AAAS.