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.
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
- Computing from the Command Line
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