:notebook: Books, reference guides and resources on Regular Expressions, CLI one-liners, Scripting Languages and Vim.
# Scripting Course

Books, reference guides and resources on Regular Expressions, CLI one-liners, Scripting Languages and Vim.

## Ebooks

Free to read online versions:

* [Understanding Python re(gex)?](https://learnbyexample.github.io/py_regular_expressions/)
* [JavaScript RegExp](https://learnbyexample.github.io/learn_js_regexp/)
* [Ruby Regexp](https://learnbyexample.github.io/Ruby_Regexp/)
* [GNU grep and ripgrep](https://learnbyexample.github.io/learn_gnugrep_ripgrep/)
* [GNU sed](https://learnbyexample.github.io/learn_gnused/)
* [GNU awk](https://learnbyexample.github.io/learn_gnuawk/)
* [Ruby one-liners cookbook](https://learnbyexample.github.io/learn_ruby_oneliners/)
* [Perl one-liners cookbook](https://learnbyexample.github.io/learn_perl_oneliners/)
* [100 Page Python Intro](https://learnbyexample.github.io/100_page_python_intro/)
* [Practice Python Projects](https://learnbyexample.github.io/practice_python_projects/)
* [Command line text processing with GNU Coreutils](https://learnbyexample.github.io/cli_text_processing_coreutils/)
* [Vim reference guide](https://learnbyexample.github.io/vim_reference/)
* [Computing from the Command Line](https://learnbyexample.github.io/cli-computing/)
* [Command line text processing with Rust tools](https://learnbyexample.github.io/cli_text_processing_rust/) — work-in-progress

:information_source: :moneybag: You can buy PDF/EPUB versions from [Gumroad](https://learnbyexample.gumroad.com/) or [Leanpub](https://leanpub.com/u/learnbyexample)

:loudspeaker: :loudspeaker: Use [this coupon link](https://learnbyexample.gumroad.com/l/all-books/HappyPrice) to get **All books bundle** with 25% discount.

### Ebook drafts

* [Command Line Text Processing](https://github.com/learnbyexample/Command-line-text-processing) — From finding text to search and replace, from sorting to beautifying text and more
   * `grep`, `sed`, `awk`, `perl` and `ruby` got their own books
   * Coreutils like `head`, `paste`, `sort`, etc were collated into a single book
   * remaining commands (`find` for example) were added to the *Computing from the Command Line* ebook
* [Python Basics](https://github.com/learnbyexample/Python_Basics) — older version of *100 Page Python Intro*
* [Ruby Scripting](https://github.com/learnbyexample/Ruby_Scripting) — examples based tutorial for Ruby scripting
* [Perl Introduction](https://github.com/learnbyexample/Perl_intro) — Introductory course for Perl 5 through examples, geared towards VLSI engineers

<br>

## Blog

https://learnbyexample.github.io/ — my super duper awesome programming blog

<br>

## Newsletter

[learnbyexample weekly](https://learnbyexample.gumroad.com/l/learnbyexample-weekly) — programming resources, tips, tools, free ebooks and more. This is a free newsletter, delivered every Friday

<br>

## Curated resources

Here's my collection of learning resources. Thanks to [mdBook](https://github.com/rust-lang/mdBook), these lists also have an intelligent search feature to find resources based on keywords.

* [Computer Science and Programming](https://learnbyexample.github.io/curated_resources/cs_programming.html)
* [Python](https://learnbyexample.github.io/py_resources/)
* [Linux CLI and Shell scripting](https://learnbyexample.github.io/curated_resources/linux_cli_scripting.html)
* [Vim](https://learnbyexample.github.io/curated_resources/vim.html)
* [Perl](https://learnbyexample.github.io/curated_resources/perl.html)
* [Git and GitHub](https://learnbyexample.github.io/curated_resources/git_and_github.html)

<br>

## dot files

This repo also includes Bash and Vim customization files (files starting with `.`) based on my personal preferences.

⚠️ Do NOT copy these files directly to your home directory. You might overwrite useful settings already present. Understand the customizations and apply them manually.

<br>

## Contributing

* Please open an issue for typos/bugs/suggestions/etc
    * Even for pull requests, open an issue for discussion before submitting PRs
* Share the repo with friends/colleagues, on social media, etc to help reach other learners
* In case you need to reach me, mail me at `echo 'bGVhcm5ieWV4YW1wbGUubmV0QGdtYWlsLmNvbQo=' | base64 --decode` or ping me on [twitter](https://twitter.com/learn_byexample)

<br>

## License

This work is licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-nc-sa/4.0/)
