Candle Wax, Mouse Droppings and Other Glue: from RegEx to Arcane Commands

By Robert C. Lemley

Elevator Pitch

This followup to my Shell talk covers Linux features that are adjunct and complimentary to the shell, such as Regular Expressions and little known commands.

Harness the power of Linux in the palm of your head.

Your cmd line productivity will soar!

Your scripts will rock!

You may be surprised.

Description

Regular Expressions are the pattern-matching and text manipulation “mini” languages of Linux. Regular Expressions are considered one of the most powerful technologies to emerge from the Unix/Linux/Open Source community.

Linux-based Cloud Computing platforms, Docker, Virtual Machines, and the fact that the overwhelming majority of the world’s web servers run Linux mean that understanding of the shell and other Linux technologies is more important than ever.

Regular Expressions are implemented by numerous commands, utilities, and languages:

  • grep
  • vi
  • emacs
  • perl
  • javascript
  • sed stream editor
  • awk pattern scanning and processing language
  • ed text editor
  • Python re module
  • STL and Boost C++ libraries
  • Oracle, MySQL, PostgreSQL
  • many many more.

In this talk we will:

  • Cover the basics of Regular Expressions so that you’ll understand what’s going on when you see them in code, as well as know when and how to use them in your daily tasks.

  • Focus on the most fundamental and basic syntax that is most common to all flavors of Regular Expressions. There are several flavors of Regular Expression extensions implemented by various popular commands.

  • Review some of the most used and most important commands that implement regular expressions.

  • Examine examples of Regular Expressions as used in specific commands.

  • Bonus: We’ll look at some little-known but very powerful commands that are available on Linux and Unix and other systems.

    SEE ALSO regex(7)

Notes

I have used Regular Expression in my work for day-to-day command line tasks, programming utilities, and system programming for several decades.

I hope to bring my knowledge and excitement about software development and system administration to my local community.