Command-line-text-processing
Command-line-text-processing copied to clipboard
:zap: From finding text to search and replace, from sorting to beautifying text and more :art:
Command Line Text Processing
Learn about various commands available for common and exotic text processing needs. Examples have been tested on GNU/Linux - there'd be syntax/feature variations with other distributions, consult their respective man
pages for details.
:warning: :warning: I'm no longer actively working on this repo. Instead, I've been converting existing chapters into ebooks (see ebook section below for links), available under the same license. These ebooks are better formatted, updated for newer versions of the software, includes exercises, solutions, etc. Once all the chapters have been converted, I'll be archiving this repo.
Ebooks
Individual online ebooks with better formatting, explanations, exercises, solutions, etc:
- GNU grep and ripgrep
- GNU sed
- GNU awk
- Ruby one-liners cookbook
- Perl one-liners cookbook
- Command line text processing with GNU Coreutils
See https://learnbyexample.github.io/books/ for links to pdf/epub versions and other ebooks.
Chapters
As mentioned earlier, I'm no longer actively working on these chapters:
-
Cat, Less, Tail and Head
- cat, less, tail, head, Text Editors
- GNU grep
- GNU sed
- GNU awk
- Perl the swiss knife
- Ruby one liners
-
Sorting stuff
- sort, uniq, comm, shuf
-
Restructure text
- paste, column, pr, fold
-
Whats the difference
- cmp, diff
- Wheres my file
-
File attributes
- wc, du, df, touch, file
-
Miscellaneous
- cut, tr, basename, dirname, xargs, seq
Webinar recordings
Recorded couple of videos based on content in the chapters, not sure if I'll do more:
Exercises
Check out exercises directory to solve practice questions on grep
, right from the command line itself.
Contributing
- Please open an issue for typos or bugs
- As this repo is no longer actively worked upon, please do not submit pull requests
- 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 '[email protected]' | tr 'a-z' 'n-za-m'
or send a DM via twitter
Acknowledgements
- unix.stackexchange and stackoverflow - for getting answers to pertinent questions as well as sharpening skills by understanding and answering questions
- Forums like Linux users, /r/commandline/, /r/linux/, /r/ruby/, news.ycombinator, devup and others for valuable feedback (especially spotting mistakes) and encouragement
- See wikipedia entry 'Roses Are Red' for
poem.txt
used as sample text input file
License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License