All books bundle
All books bundle
About the Bundle
Festive Offers
Avail amazing offers this festive season! Valid till 30-Nov-2024:
- All 13 Books bundle — $15 (normal price $32), learn Regular Expressions, Linux CLI tools, Python, Vim and more!
- Learn by example Python bundle — $8 (normal price $15), Python introduction, Regular Expressions and Projects
- Linux CLI Text Processing bundle — $10 (normal price $20), grep, sed, awk, perl and ruby one-liners, GNU coreutils, CLI computing
- Understanding Python re(gex)? — FREE (normal price $10)
This bundle contains all my published ebooks on various programming topics:
- Understanding Python re(gex)?
- Understanding JavaScript RegExp
- Understanding Ruby Regexp
- CLI text processing with GNU grep and ripgrep
- CLI text processing with GNU sed
- CLI text processing with GNU awk
- Ruby One-Liners Guide
- Perl One-Liners Guide
- 100 Page Python Intro
- Practice Python Projects
- CLI text processing with GNU Coreutils
- Vim Reference Guide
- Linux Command Line Computing
The above links point to GitHub repos for the respective books. These repos have sample chapters, code snippets, exercises and other files related to these books.
- Understanding Python re(gex)?, JavaScript RegExp and Ruby Regexp books are solely focused on regular expressions.
- CLI text processing with GNU grep and ripgrep, GNU sed, GNU awk, Ruby One-Liners and Perl One-Liners will help you learn how to use these command line tools from the terminal. The various regex flavors used in grep/sed/awk are discussed in dedicated chapters/sections with plenty of examples. See my blog post for subtle differences between the BRE/ERE implementations in these tools.
- 100 Page Python Intro provides a short, introductory guide for the Python programming language, suited for those already familiar with programming basics.
- Practice Python Projects helps you take the next step in your programming journey with real world inspired Python projects.
- CLI text processing with GNU Coreutils teaches you more than twenty specialized text processing tools such as
head
,tail
,tr
,sort
,join
,cut
,paste
, etc. - Vim Reference Guide focuses on the Vim text editor. There's an entire chapter for the Vim regex flavor.
- Linux Command Line Computing aims to teach Linux command line tools and Shell Scripting for beginner to intermediate level users. The main focus is towards managing your files and performing text processing tasks.
Testimonials
I love your books on regex...As a student from the Digital VLSI space, it is indeed useful now and definitely in the future. It's really well written and really easy to understand the examples — feedback on reddit
It's very thorough, written with care, and presented in a way that makes sense. Even as an intermediate Python programmer, I found use in this book. — feedback by Andrew Healey on an early draft for '100 Page Python Intro' mentioned in this Hacker News thread
Step up your cli fu with this fabulous intro & deep dive into awk. I learned a ton of tricks! — feedback on twitter
Your Practice Python Projects book is really helping me to reinforce my knowledge and mastery of Python as I'm learning. It alone makes the bundle well worth the money! — feedback on twitter
This Ruby one-liners cookbook is incredible. Pretty mind boggling all the stuff you can do. — feedback on twitter
In my opinion the book does a great job of quickly presenting examples of how commands can be used and then paired up to achieve new or interesting ways of manipulating data. Throughout the text there are little highlights offering tips on extra functionality or limitations of certain commands. For instance, when discussing the shuf command we're warned that shuf will not work with multiple files. However, we can merge multiple files together (using the cat command) and then pass them to shuf. These little gems of wisdom add a dimension to the book and will likely save the reader some time wondering why their scripts are not working as expected. — book review by Jesse Smith on distrowatch.com for "Command line text processing with GNU Coreutils"
Hi, great work releasing this! Trying to explain vim concisely is always an interesting challenge and I had a great time reading your attempt in this book. I always find it really interesting on how people try to group certain vim functions in a way that makes sense to people that don't use vim. I think you cover that idea pretty well in your 'Vim philosophy and features' section whilst not making it overly abstract and keeping it relatable. — feedback on Hacker News by doix for "Vim Reference Guide"
I consider myself pretty experienced at shell-fu and capable of doing most things I set out to achieve in either bash scripts or fearless one-liners. However, my awk is rudimentary at best, I think mostly because it's such an unforgiving environment to experiment in. These books you've written are great for a bit of first principles insight and then quickly building up to functional usage. I will have no hesitation in referring colleagues to them! — feedback on Hacker News
Ive only gotten through first pages but appears a good Unix/bash primer. I’ll probably recommend for new hires out of bootcamp because they’re usually weak here — feedback on twitter for "Computing from the Command Line"
Thank you for choosing to write and share your knowledge. I read your books on CLI and sed - I think they are very comprehensive and very well explained. Keep up the great work — feedback on twitter
This is fantastic! 👏 I use Perl one-liners for record and text processing a lot and this will be definitely something I will keep coming back to - I’ve already learned a trick from “Context Matching” (9) 🙂 — feedback on Linux@lemmy.ml
Nice book! I just started trying to get into linux today and you have some tips I haven’t found elsewhere and the text is an enjoyable read so far — feedback on reddit
I discovered your books recently and they’re awesome, thank you! As a 20 year *nix they made me realize how much more there are to these rock solid and ancient tools, once you spend the time to actually learn the intricacies of them — feedback on reddit
I love the whole learn by example premise. Those exercises at the end are so valuable, as it often times leads me to find multiple solutions which helps me conceptualize how commands work with each other much better! — feedback on reddit
Bundle cover image created using canva. The books stack illustration is by OpenClipart-Vectors.
About the Books
Understanding Python re(gex)?
Example based guide to mastering Python regular expressions
Festive Offers
Avail amazing offers this festive season! Valid till 30-Nov-2024:
- All 13 Books bundle — $15 (normal price $32), learn Regular Expressions, Linux CLI tools, Python, Vim and more!
- Learn by example Python bundle — $8 (normal price $15), Python introduction, Regular Expressions and Projects
- Linux CLI Text Processing bundle — $10 (normal price $20), grep, sed, awk, perl and ruby one-liners, GNU coreutils, CLI computing
- Understanding Python re(gex)? — FREE (normal price $10)
Book details
Scripting and automation tasks often need to extract particular portions of text from input data or modify them from one format to another.
This book will help you learn Python Regular Expressions, a mini-programming language for all sorts of text processing needs.
The book heavily leans on examples to present features of regular expressions one by one. It is recommended that you manually type each example and experiment with them.
Both the standard re
module and the popular third-party regex
module are covered in this book.
Exercises are also included to test your understanding.
Prerequisites
You should be familiar with programming basics. You should also have a working knowledge of Python syntax and features like string formats, string methods and list comprehensions.
You are also expected to get comfortable with reading manuals, searching online, visiting external links provided for further reading, tinkering with illustrated examples, asking for help when you are stuck and so on. In other words, be proactive and curious instead of just consuming the content passively.
If you have prior experience with a programming language but not Python, see my curated list of learning resources before starting this book.
Testimonials
I love your books on regex...As a student from the Digital VLSI space, it is indeed useful now and definitely in the future. It's really well written and really easy to understand the examples — feedback on reddit
GitHub repo
Visit https://github.com/learnbyexample/py_regular_expressions for markdown source, example files, exercise solutions and other details related to the book.
Interactive exercises
Based on the book contents as well as the exercises, I made an interactive TUI app with 100+ questions covering both the builtin re
module and the third-partyregex
module. These exercises will test your understanding of anchors, alternation, grouping, escaping metacharacters, dot metacharacter, quantifiers, character class, lookarounds, flags, etc.
Feedback and Errata
I would highly appreciate if you'd let me know how you felt about this ebook. It could be anything from a simple thank you, pointing out a typo, mistakes in code snippets, which aspects of the book worked for you (or didn't!) and so on. Reader feedback is essential and especially so for self-published authors. You can reach me via:
- Issue Manager: https://github.com/learnbyexample/py_regular_expressions/issues
- E-mail: learnbyexample.net@gmail.com
- Twitter: https://twitter.com/learn_byexample
Understanding JavaScript RegExp
Example based guide to mastering JavaScript regular expressions
About
Scripting and automation tasks often need to extract particular portions of text from input data or modify them from one format to another.
This book will help you learn JavaScript Regular Expressions, a mini-programming language for all sorts of text processing needs.
The book heavily leans on examples to present features of regular expressions one by one. It is recommended that you manually type each example and experiment with them.
Exercises are included to test your understanding. Reference solutions are also provided.
Prerequisites
You should be familiar with programming basics. You should also have a working knowledge of JavaScript syntax and functional programming concepts like map
and filter
.
You are also expected to get comfortable with reading documentation, searching online, visiting external links provided for further reading, tinkering with illustrated examples, asking for help when you are stuck and so on. In other words, be proactive and curious instead of just consuming the content passively.
Testimonials
Literally was having a mini-breakdown about not understanding Regex in algorithm solutions the other day and now I'm feeling so much better, so thank YOU! I genuinely feel like I'm developing the skill for spotting when and where to use them after so much practice! — feedback on twitter
GitHub repo
Visit https://github.com/learnbyexample/learn_js_regexp for markdown source, example files, exercise solutions and other details related to the book.
Feedback and Errata
I would highly appreciate it if you'd let me know how you felt about this ebook. It could be anything from a simple thank you, pointing out a typo, mistakes in code snippets, which aspects of the book worked for you (or didn't!) and so on. Reader feedback is essential and especially so for self-published authors.
You can reach me via:
- Issue Manager: https://github.com/learnbyexample/learn_js_regexp/issues
- E-mail: learnbyexample.net@gmail.com
- Twitter: https://twitter.com/learn_byexample
100 Page Python Intro
Short, introductory guide for the Python programming language
It's very thorough, written with care, and presented in a way that makes sense. Even as an intermediate Python programmer, I found use in this book. — feedback by Andrew Healey on an early draft mentioned in this Hacker News thread
This book is a short, introductory guide for the Python programming language. This book is well suited:
- As a reference material for Python beginner workshops
- If you have prior experience with another programming language
- If you want a complement resource after reading a Python basics book, watching a video course, etc
Prerequisites: You should be already familiar with basic programming concepts. If you are new to programming, see my curated list of resources (https://learnbyexample.github.io/py_resources/) instead.
Exercises are included to test your understanding. Visit https://github.com/learnbyexample/100_page_python_intro for program files, markdown source and other details about the book.
Practice Python Projects
Beginner to Intermediate level projects inspired by real world use cases
Book details
Beginners who've finished a basic programming book or a course often wonder what they should do next. After solving exercises that test your understanding of syntax and common logical problems, working on projects is often recommended as the next step in the programming journey.
Working on projects that'll help you solve real world use cases would be ideal. You'll likely have enough incentive to push through difficulties instead of abandoning the project. Sometimes though, you just don't know what to work on. Or, you have ideas, but not sure how to implement them, how to break down the project into manageable parts, etc. In such cases, a learning resource focused on projects can help.
This book presents five beginner to intermediate level projects inspired by real world use cases:
- Enhance your CLI experience with a custom Python calculator
- Analyzing poll data from a Reddit comment thread
- Finding typos in plain text and Markdown files
- Creating a GUI for evaluating multiple choice questions
- Square Tic Tac Toe — creating a GUI game with AI
To test your understanding and to make it more interesting, you'll also be presented with exercises at the end of each project. Resources for further exploration are also mentioned throughout the book.
Testimonials
Your Practice Python Projects book is really helping me to reinforce my knowledge and mastery of Python as I'm learning — feedback on twitter
GitHub repo
Visit https://github.com/learnbyexample/practice_python_projects for programs and related example files presented in this book.
Feedback and Errata
I would highly appreciate if you'd let me know how you felt about this ebook. It could be anything from a simple thank you, pointing out a typo, mistakes in code snippets, which aspects of the book worked for you (or didn't!) and so on. Reader feedback is essential and especially so for self-published authors. You can reach me via:
- Issue Manager: https://github.com/learnbyexample/practice_python_projects/issues
- E-mail: learnbyexample.net@gmail.com
- Twitter: https://twitter.com/learn_byexample
CLI text processing with GNU grep and ripgrep
The search is on
You are likely to be familiar with using a search dialog (usually invoked with the Ctrl+F
shortcut) to locate the occurrences of a particular string. The grep
command is a versatile and feature-rich version of that search functionality usable from the command line. An important feature that GUI applications may lack is regular expressions, a mini-programming language to precisely define a matching criteria.
This book heavily leans on examples to present features one by one. In addition to command options, regular expressions will also be discussed in detail. Two different implementations are discussed in this book — GNU grep and ripgrep.
Exercises are also included to test your understanding.
Prerequisites
You should be familiar with command line usage in a Unix-like environment. You should also be comfortable with concepts like file redirection and command pipelines.
You are also expected to get comfortable with reading manuals, searching online, visiting external links provided for further reading, tinkering with illustrated examples, asking for help when you are stuck and so on. In other words, be proactive and curious instead of just consuming the content passively.
If you are new to the world of the command line, check out my Computing from the Command Line ebook and curated resources on Linux CLI and Shell scripting before starting this book.
GitHub repo
Visit https://github.com/learnbyexample/learn_gnugrep_ripgrep for markdown source, example files, exercise solutions and other details related to the book.
Interactive exercises
Based on the book contents as well as the exercises, I made an interactive TUI app with 50+ questions. Reference solutions are provided for both GNU grep
and ripgrep
.
Feedback and Errata
I would highly appreciate it if you'd let me know how you felt about this ebook. It could be anything from a simple thank you, pointing out a typo, mistakes in code snippets, which aspects of the book worked for you (or didn't!) and so on. Reader feedback is essential and especially so for self-published authors.
You can reach me via:
- Issue Manager: https://github.com/learnbyexample/learn_gnugrep_ripgrep/issues
- E-mail: learnbyexample.net@gmail.com
- Twitter: https://twitter.com/learn_byexample
CLI text processing with GNU sed
awesome stream editor
You are likely to be familiar with using a search and replace dialog (usually invoked with the Ctrl+H
shortcut) to locate the occurrences of a particular string and replace it with something else. The sed
command is a versatile and feature-rich version for search and replace operations, usable from the command line. An important feature that GUI applications may lack is regular expressions, a mini-programming language to precisely define a matching criteria.
This book heavily leans on examples to present features one by one. In addition to command options, regular expressions will also be discussed in detail.
Exercises are also included to test your understanding.
Prerequisites
You should be familiar with command line usage in a Unix-like environment. You should also be comfortable with concepts like file redirection and command pipelines. Knowing the basics of the grep
command will be handy in understanding the filtering features of sed
.
You are also expected to get comfortable with reading manuals, searching online, visiting external links provided for further reading, tinkering with illustrated examples, asking for help when you are stuck and so on. In other words, be proactive and curious instead of just consuming the content passively.
If you are new to the world of the command line, check out my Computing from the Command Line ebook and curated resources on Linux CLI and Shell scripting before starting this book.
Testimonials
Thank you for choosing to write and share your knowledge. I read your books on CLI and sed - I think they are very comprehensive and very well explained. Keep up the great work — feedback on twitter
GitHub repo
Visit https://github.com/learnbyexample/learn_gnused for markdown source, example files, exercise solutions and other details related to the book.
Interactive exercises
Based on the book contents as well as the exercises, I made an interactive TUI app with 50+ questions. Reference solutions are also provided.
Feedback and Errata
I would highly appreciate it if you'd let me know how you felt about this ebook. It could be anything from a simple thank you, pointing out a typo, mistakes in code snippets, which aspects of the book worked for you (or didn't!) and so on. Reader feedback is essential and especially so for self-published authors.
You can reach me via:
- Issue Manager: https://github.com/learnbyexample/learn_gnused/issues
- E-mail: learnbyexample.net@gmail.com
- Twitter: https://twitter.com/learn_byexample
CLI text processing with GNU awk
field processing and other awesome one-liners
About
When it comes to command line text processing, the three major pillars are grep
for filtering, sed
for substitution and awk
for field processing. This book will dive deep into field processing, show examples for filtering features, multiple file processing, how to construct solutions that depend on multiple records, how to compare records and fields between two or more files, how to identify duplicates while maintaining input order and so on.
This book heavily leans on examples to present features one by one. Regular Expressions will also be discussed in detail.
Exercises are also included to test your understanding.
Prerequisites
You should be familiar with command line usage in a Unix-like environment. You should also be comfortable with concepts like file redirection and command pipelines. Knowing the basics of the grep
and sed
commands will be handy in understanding the filtering and substitution features of awk
.
As awk
is a programming language, you are also expected to be familiar with concepts like variables, printing, functions, control structures, arrays and so on.
You are also expected to get comfortable with reading manuals, searching online, visiting external links provided for further reading, tinkering with illustrated examples, asking for help when you are stuck and so on. In other words, be proactive and curious instead of just consuming the content passively.
If you are new to the world of the command line, check out my Computing from the Command Line ebook and curated resources on Linux CLI and Shell scripting before starting this book.
Testimonials
Step up your cli fu with this fabulous intro & deep dive into awk. I learned a ton of tricks! — feedback on twitter
I consider myself pretty experienced at shell-fu and capable of doing most things I set out to achieve in either bash scripts or fearless one-liners. However, my awk is rudimentary at best, I think mostly because it's such an unforgiving environment to experiment in. These books you've written are great for a bit of first principles insight and then quickly building up to functional usage. I will have no hesitation in referring colleagues to them! — feedback on Hacker News
GitHub repo
Visit https://github.com/learnbyexample/learn_gnuawk for markdown source, example files, exercise solutions and other details related to the book.
Interactive exercises
Based on the book contents as well as the exercises, I made an interactive TUI app with 80+ questions. Reference solutions are also provided.
Feedback and Errata
I would highly appreciate it if you'd let me know how you felt about this ebook. It could be anything from a simple thank you, pointing out a typo, mistakes in code snippets, which aspects of the book worked for you (or didn't!) and so on. Reader feedback is essential and especially so for self-published authors.
You can reach me via:
- Issue Manager: https://github.com/learnbyexample/learn_gnuawk/issues
- E-mail: learnbyexample.net@gmail.com
- Twitter: https://twitter.com/learn_byexample
Ruby One-Liners Guide
Example based guide for text processing with Ruby from the command line.
About
When it comes to command line text processing, there are several well known tools like grep for filtering, sed for substitution and awk for field processing. Compared to such tools, Ruby has a feature rich regular expression engine, plenty of builtin modules and a thriving ecosystem. Another advantage is that Ruby is more portable.
Ruby One-Liners Guide will show examples for filtering and substitution features, field processing, using standard and third-party modules, multiple file processing, how to construct solutions that depend on multiple records, how to compare records and fields between two or more files, how to identify duplicates while maintaining input order and so on.
This book heavily leans on examples to present features one by one. Exercises are also included to test your understanding.
Prerequisites
You should be comfortable with programming basics and have prior experience working with Ruby. You should know concepts like blocks, be familiar with string/array/hash/enumerable methods, regular expressions etc.
You should be familiar with command line usage in a Unix-like environment. You should also be comfortable with concepts like file redirection and command pipelines. Knowing the basics of the grep
, sed
and awk
commands will come in handy as well.
You are also expected to get comfortable with reading manuals, searching online, visiting external links provided for further reading, tinkering with illustrated examples, asking for help when you are stuck and so on. In other words, be proactive and curious instead of just consuming the content passively.
Testimonials
This Ruby one-liners cookbook is incredible. Pretty mind boggling all the stuff you can do.
— feedback on twitter
GitHub repo
Visit https://github.com/learnbyexample/learn_ruby_oneliners for markdown source, example files, exercise solutions and other details related to the book.
Feedback and Errata
I would highly appreciate it if you'd let me know how you felt about this ebook. It could be anything from a simple thank you, pointing out a typo, mistakes in code snippets, which aspects of the book worked for you (or didn't!) and so on. Reader feedback is essential and especially so for self-published authors.
You can reach me via:
- Issue Manager: https://github.com/learnbyexample/learn_ruby_oneliners/issues
- E-mail: learnbyexample.net@gmail.com
- Twitter: https://twitter.com/learn_byexample
Perl One-Liners Guide
Example based guide for text processing with Perl from the command line
About
When it comes to command line text processing, there are several well known tools like grep for filtering, sed for substitution and awk for field processing. Compared to such tools, Perl has a feature rich regular expression engine, plenty of builtin modules and a thriving ecosystem. Another advantage is that Perl is more portable.
Perl One-Liners Guide will show examples for filtering and substitution features, field processing, using standard and third-party modules, multiple file processing, how to construct solutions that depend on multiple records, how to compare records and fields between two or more files, how to identify duplicates while maintaining input order and so on.
This book heavily leans on examples to present features one by one. Exercises are also included to test your understanding.
Prerequisites
You should be comfortable with programming basics and have prior experience working with Perl. You should know concepts like scalar, array, hash, special variables and be familiar with control structures, regular expressions, etc.
You should be familiar with command line usage in a Unix-like environment. You should also be comfortable with concepts like file redirection and command pipelines. Knowing the basics of the grep
, sed
and awk
commands will come in handy as well.
You are also expected to get comfortable with reading manuals, searching online, visiting external links provided for further reading, tinkering with illustrated examples, asking for help when you are stuck and so on. In other words, be proactive and curious instead of just consuming the content passively.
Testimonials
This is fantastic! 👏 I use Perl one-liners for record and text processing a lot and this will be definitely something I will keep coming back to - I’ve already learned a trick from “Context Matching” (9) 🙂 — feedback on Linux@lemmy.ml
GitHub repo
Visit https://github.com/learnbyexample/learn_perl_oneliners for markdown source, example files, exercise solutions and other details related to the book.
Chapters
- Preface
- One-liner introduction
- Line processing
- In-place file editing
- Field separators
- Record separators
- Using modules
- Multiple file input
- Processing multiple records
- Two file processing
- Dealing with duplicates
- Perl rename command
Feedback and Errata
I would highly appreciate it if you'd let me know how you felt about this ebook. It could be anything from a simple thank you, pointing out a typo, mistakes in code snippets, which aspects of the book worked for you (or didn't!) and so on. Reader feedback is essential and especially so for self-published authors.
You can reach me via:
- Issue Manager: https://github.com/learnbyexample/learn_perl_oneliners/issues
- E-mail: learnbyexample.net@gmail.com
- Twitter: https://twitter.com/learn_byexample
CLI text processing with GNU Coreutils
Example based guide for specialized text processing commands
Any beginner learning Linux command line tools would come across the cat command within the first week. Sooner or later, they'll come to know popular text processing tools like grep, head, tail, tr, sort, etc. If you were like me, you'd come across sed and awk, shudder at their complexity and prefer to use a scripting language like Perl and text editors like Vim instead (don't worry, I've already corrected that mistake).
Knowing power tools like grep, sed and awk can help solve most of your text processing needs. So, why would you want to learn text processing tools from the coreutils package? The biggest motivation would be faster execution since these tools are optimized for the use cases they solve. And there's always the advantage of not having to write code (and test that solution) if there's an existing tool to solve the problem.
This book will teach you more than twenty of such specialized text processing tools provided by the GNU coreutils
package. Plenty of examples and exercises are provided to make it easier to understand a particular tool and its various features.
Prerequisites
You should be familiar with command line usage in a Unix-like environment. You should also be comfortable with concepts like file redirection and command pipelines.
You are also expected to get comfortable with reading manuals, searching online, visiting external links provided for further reading, tinkering with illustrated examples, asking for help when you are stuck and so on. In other words, be proactive and curious instead of just consuming the content passively.
Testimonials
In my opinion the book does a great job of quickly presenting examples of how commands can be used and then paired up to achieve new or interesting ways of manipulating data. Throughout the text there are little highlights offering tips on extra functionality or limitations of certain commands. For instance, when discussing the shuf command we're warned that shuf will not work with multiple files. However, we can merge multiple files together (using the cat command) and then pass them to shuf. These little gems of wisdom add a dimension to the book and will likely save the reader some time wondering why their scripts are not working as expected — book review by Jesse Smith on distrowatch.com
I discovered your books recently and they’re awesome, thank you! As a 20 year *nix they made me realize how much more there are to these rock solid and ancient tools, once you spend the time to actually learn the intricacies of them — feedback on reddit
GitHub repo
Visit https://github.com/learnbyexample/cli_text_processing_coreutils for markdown source, example files, exercise solutions and other details related to the book.
Chapters
- Preface
- Introduction
- cat and tac
- head and tail
- tr
- cut
- seq
- shuf
- paste
- pr
- fold and fmt
- sort
- uniq
- comm
- join
- nl
- wc
- split
- csplit
- expand and unexpand
- basename and dirname
- What next?
Feedback and Errata
I would highly appreciate it if you'd let me know how you felt about this ebook. It could be anything from a simple thank you, pointing out a typo, mistakes in code snippets, which aspects of the book worked for you (or didn't!) and so on. Reader feedback is essential and especially so for self-published authors.
You can reach me via:
Linux Command Line Computing
Linux command line tools and Shell Scripting for beginner to intermediate level users
This ebook aims to teach Linux command line tools and Shell Scripting for beginner to intermediate level users. The main focus is towards managing your files and performing text processing tasks. Plenty of examples are provided to make it easier to understand a particular tool and its various features. Exercises at the end of chapters will help you practice what you've learned and solutions are provided for reference. External links are provided for further reading.
The features covered in this ebook are shaped and limited by my own experiences since 2007. I had a rough beginning as a design engineer having to learn Linux command line, Vim and Perl on the job. The biggest pain points were not knowing about handy options (for example, grep --color
to highlight matching portions, find -exec
to apply commands on filtered files, etc) and tools (for example, xargs
to workaround limitations of too many command line arguments). And then there were tools like sed
and awk
with intimidating syntax.
I hope this ebook would make it much easier for you to discover CLI tools, features and learning resources than my own blundering experience.
Prerequisites
You should be familiar with basic computer usage, know fundamental terms like files and directories, how to install programs and so on. You should also be already comfortable with programming basics like variables, loops and functions.
In terms of software, you should have access to the GNU bash
shell and commonly used Linux command line tools. This could be as part of a Linux distribution or via other means such as a Virtual Machine, WSL (Windows Subsystem for Linux) and so on.
You are also expected to get comfortable with reading manuals, searching online, visiting external links provided for further reading, tinkering with illustrated examples, asking for help when you are stuck and so on. In other words, be proactive and curious instead of just consuming the content passively.
Testimonials
Ive only gotten through first pages but appears a good Unix/bash primer. I’ll probably recommend for new hires out of bootcamp because they’re usually weak here — feedback on twitter
Nice book! I just started trying to get into linux today and you have some tips I haven’t found elsewhere and the text is an enjoyable read so far — feedback on reddit
GitHub repo
Visit https://github.com/learnbyexample/cli-computing for markdown source, example files, exercise solutions and other details related to the book.
Interactive exercises
I made an interactive TUI app for some of the text processing exercises from this book.
Chapters
- Preface
- Introduction and Setup
- Command Line Overview
- Managing Files and Directories
- Shell Features
- Viewing Part or Whole File Contents
- Searching Files and Filenames
- File Properties
- Managing Processes
- Multipurpose Text Processing Tools
- Sorting Stuff
- Comparing Files
- Assorted Text Processing Tools
- Shell Scripting
- Shell Customization
Feedback and Errata
I would highly appreciate it if you'd let me know how you felt about this ebook. It could be anything from a simple thank you, pointing out a typo, mistakes in code snippets, which aspects of the book worked for you (or didn't!) and so on. Reader feedback is essential and especially so for self-published authors.You can reach me via:
- Issue Manager: https://github.com/learnbyexample/cli-computing/issues
- E-mail: learnbyexample.net@gmail.com
- Twitter: https://twitter.com/learn_byexample
Vim Reference Guide
Concise learning resource for beginner to intermediate level Vim users
About
Vim Reference Guide is intended as a concise learning resource for beginner to intermediate level Vim users. It has more in common with cheatsheets than a typical text book. Topics like Regular Expressions and Macros have more detailed explanations and examples due to their complexity.
The features covered in this guide are shaped and limited by my own experiences since 2007. I had a rough beginning as a design engineer having to learn Linux command line, Vim and Perl on the job. I distinctly remember progressing from dd (delete current line) to d↓ (delete current line as well as the line below) and feeling happy that it reduced time spent on editing. I didn't know about count prefix or the various ways I could've deleted all the lines from the beginning of the file to the line containing a specific phrase. Or even better, I could've automated editing multiple files if I had been familiar with Sed or progressed that far with Perl.
I hope this guide would make it much easier for you to discover Vim features and learning resources than my own blundering experience.
Prerequisites
I do give a brief introduction to get started with using Vim, but having prior experience would be ideal before using this resource. As a minimum requirement, you should be able to use vimtutor
on your own.
You are also expected to get comfortable with reading manuals, searching online, visiting external links provided for further reading, tinkering with the illustrated examples, asking for help when you are stuck and so on. In other words, be proactive and curious instead of just consuming the content passively.
Testimonials
Got several suggestions and feedback when my submission about this book reached the front page of Hacker News.
Great job on this! — rendall
Hi, great work releasing this! Trying to explain vim concisely is always an interesting challenge and I had a great time reading your attempt in this book. I always find it really interesting on how people try to group certain vim functions in a way that makes sense to people that don't use vim. I think you cover that idea pretty well in your 'Vim philosophy and features' section whilst not making it overly abstract and keeping it relatable. — doix
Neat stuff! One piece of feedback is that I would include "+p and "+yy in the copy and paste section. — mrpotato
I learnt regular expression by reading your books, thank you for the great work. — LamJH
A comment from another Hacker News thread:
I stumbled upon your vi post a few days ago, really like the style. Keep it up!
GitHub repo
Visit https://github.com/learnbyexample/vim_reference for markdown source and other details related to the book.
Chapters
- Preface
- Introduction
- Insert mode
- Normal mode
- Command-line mode
- Visual mode
- Regular Expressions
- Macro
- Customizing Vim
- CLI options
Feedback and Errata
I would highly appreciate it if you'd let me know how you felt about this ebook. It could be anything from a simple thank you, pointing out a typo, mistakes in code snippets, which aspects of the book worked for you (or didn't!) and so on. Reader feedback is essential and especially so for self-published authors.
You can reach me via:
- Issue Manager: https://github.com/learnbyexample/vim_reference/issues
- E-mail: learnbyexample.net@gmail.com
- Twitter: https://twitter.com/learn_byexample
Understanding Ruby Regexp
Example based guide to mastering Ruby regular expressions
Book details
Scripting and automation tasks often need to extract particular portions of text from input data or modify them from one format to another.
This book will help you learn Ruby Regular Expressions, a mini-programming language for all sorts of text processing needs.
The book heavily leans on examples to present features of regular expressions one by one. It is recommended that you manually type each example and experiment with them.
Exercises are included to test your understanding. Reference solutions are also provided.
Prerequisites
You should be familiar with programming basics. You should also have a working knowledge of Ruby syntax and features like string formats, string and Enumerable methods.
You are also expected to get comfortable with reading documentation, searching online, visiting external links provided for further reading, tinkering with illustrated examples, asking for help when you are stuck and so on. In other words, be proactive and curious instead of just consuming the content passively.
GitHub repo
Visit https://github.com/learnbyexample/Ruby_Regexp for markdown source, example files, exercise solutions and other details related to the book.
Feedback and Errata
I would highly appreciate it if you'd let me know how you felt about this ebook. It could be anything from a simple thank you, pointing out a typo, mistakes in code snippets, which aspects of the book worked for you (or didn't!) and so on. Reader feedback is essential and especially so for self-published authors.
You can reach me via:
- Issue Manager: https://github.com/learnbyexample/Ruby_Regexp/issues
- E-mail: learnbyexample.net@gmail.com
- Twitter: https://twitter.com/learn_byexample
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them