{"id":13539641,"url":"https://github.com/learnbyexample/learn_gnused","last_synced_at":"2025-05-12T14:29:23.462Z","repository":{"id":41300820,"uuid":"216972352","full_name":"learnbyexample/learn_gnused","owner":"learnbyexample","description":"Example based guide to mastering GNU sed","archived":false,"fork":false,"pushed_at":"2025-04-15T06:35:48.000Z","size":3945,"stargazers_count":201,"open_issues_count":0,"forks_count":26,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-05-12T14:29:11.881Z","etag":null,"topics":["command-line","ebook","exercises","gnu","learn-by-doing","linux","one-liners","regex","sed"],"latest_commit_sha":null,"homepage":"https://learnbyexample.github.io/learn_gnused/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/learnbyexample.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-10-23T05:06:48.000Z","updated_at":"2025-05-06T09:37:59.000Z","dependencies_parsed_at":"2022-09-07T20:50:42.007Z","dependency_job_id":"2b78d70e-15a4-4243-ac7e-556923b3c391","html_url":"https://github.com/learnbyexample/learn_gnused","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/learnbyexample%2Flearn_gnused","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/learnbyexample%2Flearn_gnused/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/learnbyexample%2Flearn_gnused/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/learnbyexample%2Flearn_gnused/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/learnbyexample","download_url":"https://codeload.github.com/learnbyexample/learn_gnused/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253754739,"owners_count":21958902,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["command-line","ebook","exercises","gnu","learn-by-doing","linux","one-liners","regex","sed"],"created_at":"2024-08-01T09:01:29.867Z","updated_at":"2025-05-12T14:29:23.444Z","avatar_url":"https://github.com/learnbyexample.png","language":"Shell","readme":"# CLI text processing with GNU sed\n\nLearn GNU sed with hundreds of examples and exercises. Visit https://youtu.be/nvKyKoeiZD8 for a short video about the book.\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"./images/sed_ls.png\" alt=\"CLI text processing with GNU sed ebook cover image\" /\u003e\u003c/p\u003e\n\nThe book also includes exercises to test your understanding, which are presented together as a single file in this repo — [Exercises.md](./exercises/Exercises.md).\n\nFor solutions to the exercises, see [Exercise_solutions.md](./exercises/Exercise_solutions.md).\n\nYou can also use [this interactive TUI app](https://github.com/learnbyexample/TUI-apps/blob/main/SedExercises) to practice some of the exercises from the book.\n\nSee [Version_changes.md](./Version_changes.md) to keep track of changes made to the book.\n\n\u003cbr\u003e\n\n# E-book\n\n* You can purchase the pdf/epub versions of the book using these links:\n    * https://learnbyexample.gumroad.com/l/gnu_sed\n    * https://leanpub.com/gnu_sed\n* You can also get the book as part of these bundles:\n    * **All books bundle** bundle from https://leanpub.com/b/learnbyexample-all-books or https://learnbyexample.gumroad.com/l/all-books\n    * **Linux CLI Text Processing** bundle from https://leanpub.com/b/linux-cli-text-processing or https://learnbyexample.gumroad.com/l/linux-cli-text-processing\n    * **Magical one-liners** bundle from https://leanpub.com/b/oneliners or https://learnbyexample.gumroad.com/l/oneliners\n    * **Awesome Regex** bundle from https://leanpub.com/b/regex or https://learnbyexample.gumroad.com/l/regex\n* See https://learnbyexample.github.io/books/ for a list of other books\n\nFor a preview of the book, see [sample chapters](./sample_chapters/gnu_sed_sample.pdf).\n\nThe book can also be [viewed as a single markdown file in this repo](./gnu_sed.md). See my blogpost on [generating pdf/epub from markdown using pandoc](https://learnbyexample.github.io/customizing-pandoc/) if you are interested in the ebook creation process.\n\nFor the web version of the book, visit https://learnbyexample.github.io/learn_gnused/\n\n\u003cbr\u003e\n\n# Testimonials\n\n\u003eThank 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\n\u003e\n\u003e — [feedback on twitter](https://twitter.com/le_anh_phuong/status/1628149732760604672)\n\n\u003cbr\u003e\n\n# Feedback and Contributing\n\n⚠️ ⚠️ Please DO NOT submit pull requests. Main reason being any modification requires changes in multiple places.\n\nI would highly appreciate it if you'd let me know how you felt about this book. 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.\n\nYou can reach me via:\n\n* Issue Manager: [https://github.com/learnbyexample/learn_gnused/issues](https://github.com/learnbyexample/learn_gnused/issues)\n* E-mail: `echo 'bGVhcm5ieWV4YW1wbGUubmV0QGdtYWlsLmNvbQo=' | base64 --decode`\n* Twitter: [https://twitter.com/learn_byexample](https://twitter.com/learn_byexample)\n\n\u003cbr\u003e\n\n# Table of Contents\n\n1) Preface\n2) Introduction\n3) In-place file editing\n4) Selective editing\n5) BRE/ERE Regular Expressions\n6) Flags\n7) Shell substitutions\n8) z, s and f command line options\n9) append, change, insert\n10) Adding content from file\n11) Control structures\n12) Processing lines bounded by distinct markers\n13) Gotchas and Tricks\n14) Further Reading\n\n\u003cbr\u003e\n\n# Acknowledgements\n\n* [GNU sed documentation](https://www.gnu.org/software/sed/manual/sed.html) — manual and examples\n* [stackoverflow](https://stackoverflow.com/) and [unix.stackexchange](https://unix.stackexchange.com/) — for getting answers to pertinent questions on `sed` and related commands\n* [tex.stackexchange](https://tex.stackexchange.com/) — for help on [pandoc](https://github.com/jgm/pandoc/) and `tex` related questions\n* [/r/commandline/](https://old.reddit.com/r/commandline), [/r/linux4noobs/](https://old.reddit.com/r/linux4noobs/), [/r/linuxquestions/](https://old.reddit.com/r/linuxquestions/) and [/r/linux/](https://old.reddit.com/r/linux/) — helpful forums\n* [canva](https://www.canva.com/) — cover image\n* [oxipng](https://github.com/shssoichiro/oxipng), [pngquant](https://pngquant.org/) and [svgcleaner](https://github.com/RazrFalcon/svgcleaner) — optimizing images\n* [Warning](https://commons.wikimedia.org/wiki/File:Warning_icon.svg) and [Info](https://commons.wikimedia.org/wiki/File:Info_icon_002.svg) icons by [Amada44](https://commons.wikimedia.org/wiki/User:Amada44) under public domain\n* [arifmahmudrana](https://github.com/arifmahmudrana) for spotting an ambiguous explanation\n* [mdBook](https://github.com/rust-lang/mdBook) — for web version of the book\n    * [mdBook-pagetoc](https://github.com/JorelAli/mdBook-pagetoc) — for adding table of contents for each chapter\n    * [minify-html](https://github.com/wilsonzlin/minify-html) — for minifying html files\n\nSpecial thanks to all my friends and online acquaintances for their help, support and encouragement, especially during difficult times.\n\n\u003cbr\u003e\n\n# License\n\nThe book is licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-nc-sa/4.0/).\n\nThe code snippets are licensed under MIT, see [LICENSE](./LICENSE) file.\n\n","funding_links":[],"categories":["Shell","Learning resources"],"sub_categories":["Security"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flearnbyexample%2Flearn_gnused","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flearnbyexample%2Flearn_gnused","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flearnbyexample%2Flearn_gnused/lists"}