Skip to content

Commit 406cfda

Browse files
announcement post for grep ebook
1 parent a230a30 commit 406cfda

File tree

14 files changed

+104
-11
lines changed

14 files changed

+104
-11
lines changed

β€ŽREADME.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ I'm addicted to reading fantasy/sci-fi books, so I have a [blog](https://learnby
66

77
## Posts
88

9+
* [CLI text processing with GNU grep and ripgrep book announcement](https://learnbyexample.github.io/cli-text-processing-grep-announcement/)
910
* [100+ Interactive Python Regex Exercises](https://learnbyexample.github.io/interactive-python-regex-exercises/)
1011
* [Python Regular Expressions Playground](https://learnbyexample.github.io/python-regex-playground/)
1112
* [Understanding Python re(gex)? book announcement](https://learnbyexample.github.io/understanding-python-regex-announcement/)

β€Žatom.xml

Lines changed: 88 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,95 @@
55
<link href="https://learnbyexample.github.io/atom.xml" rel="self" type="application/atom+xml"/>
66
<link href="https://learnbyexample.github.io"/>
77
<generator uri="https://www.getzola.org/">Zola</generator>
8-
<updated>2023-05-09T00:00:00+00:00</updated>
8+
<updated>2023-05-11T00:00:00+00:00</updated>
99
<id>https://learnbyexample.github.io/atom.xml</id>
10+
<entry xml:lang="en">
11+
<title>CLI text processing with GNU grep and ripgrep book announcement</title>
12+
<published>2023-05-11T00:00:00+00:00</published>
13+
<updated>2023-05-11T00:00:00+00:00</updated>
14+
<link rel="alternate" href="https://learnbyexample.github.io/cli-text-processing-grep-announcement/" type="text/html"/>
15+
<id>https://learnbyexample.github.io/cli-text-processing-grep-announcement/</id>
16+
<content type="html">&lt;p&gt;Hello!&lt;&#x2F;p&gt;
17+
&lt;p&gt;I am pleased to announce a new version of my &lt;strong&gt;CLI text processing with GNU grep and ripgrep&lt;&#x2F;strong&gt; ebook. Examples, exercises, solutions, descriptions and external links were added&#x2F;updated&#x2F;corrected. The chapter on &lt;code&gt;ripgrep&lt;&#x2F;code&gt; was changed significantly to focus mostly on the differences compared to &lt;code&gt;GNU grep&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
18+
&lt;p&gt;This book will help you learn these commands step-by-step from beginner to advanced levels with &lt;strong&gt;hundreds of examples and exercises&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
19+
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;br&gt;
20+
&lt;h2 id=&quot;release-offers&quot;&gt;Release offers&lt;a class=&quot;zola-anchor&quot; href=&quot;#release-offers&quot; aria-label=&quot;Anchor link for: release-offers&quot;&gt;πŸ”—&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
21+
&lt;p&gt;To celebrate the new release, you can download PDF&#x2F;EPUB versions of &lt;strong&gt;CLI text processing with GNU grep and ripgrep&lt;&#x2F;strong&gt; for FREE till 21-May-2023. You can still pay if you wish ;)&lt;&#x2F;p&gt;
22+
&lt;ul&gt;
23+
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;learnbyexample.gumroad.com&#x2F;l&#x2F;gnugrep_ripgrep&quot;&gt;Gumroad&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
24+
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;leanpub.com&#x2F;gnugrep_ripgrep&#x2F;c&#x2F;new_grep_release&quot;&gt;Leanpub&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
25+
&lt;&#x2F;ul&gt;
26+
&lt;p&gt;Other offers:&lt;&#x2F;p&gt;
27+
&lt;ul&gt;
28+
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;learnbyexample.gumroad.com&#x2F;l&#x2F;cli_computing&quot;&gt;Computing from the Command Line&lt;&#x2F;a&gt; is FREE β€” Linux command line tools and Shell Scripting for beginner to intermediate level users&lt;&#x2F;li&gt;
29+
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;learnbyexample.gumroad.com&#x2F;l&#x2F;all-books&#x2F;new_grep_release&quot;&gt;All Books Bundle&lt;&#x2F;a&gt; is $12 (normal price $32) β€” all my 13 programming ebooks&lt;&#x2F;li&gt;
30+
&lt;&#x2F;ul&gt;
31+
&lt;br&gt;
32+
&lt;h2 id=&quot;what-s-new&quot;&gt;What&#x27;s new?&lt;a class=&quot;zola-anchor&quot; href=&quot;#what-s-new&quot; aria-label=&quot;Anchor link for: what-s-new&quot;&gt;πŸ”—&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
33+
&lt;ul&gt;
34+
&lt;li&gt;Command versions updated to &lt;strong&gt;GNU grep 3.10&lt;&#x2F;strong&gt; and &lt;strong&gt;ripgrep 13.0.0&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
35+
&lt;li&gt;Many more exercises added&lt;&#x2F;li&gt;
36+
&lt;li&gt;PCRE chapter β€” added section for conditional grouping, corrected description and examples for &lt;code&gt;\K&lt;&#x2F;code&gt;, atomic grouping, etc&lt;&#x2F;li&gt;
37+
&lt;li&gt;ripgrep chapter β€” options and regex section modified to present only differences compared to &lt;code&gt;GNU grep&lt;&#x2F;code&gt;, added details for more options such as &lt;code&gt;--field-match-separator&lt;&#x2F;code&gt;, improved recursive search section, etc&lt;&#x2F;li&gt;
38+
&lt;li&gt;Long sections split into smaller ones&lt;&#x2F;li&gt;
39+
&lt;li&gt;In general, many of the examples, exercises, solutions, descriptions and external links were updated&#x2F;corrected&lt;&#x2F;li&gt;
40+
&lt;li&gt;Updated Acknowledgements section&lt;&#x2F;li&gt;
41+
&lt;li&gt;Code snippets related to info&#x2F;warning sections will now appear as a single block&lt;&#x2F;li&gt;
42+
&lt;li&gt;Book title changed to &lt;strong&gt;CLI text processing with GNU grep and ripgrep&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
43+
&lt;li&gt;New cover image&lt;&#x2F;li&gt;
44+
&lt;li&gt;Images centered for EPUB format&lt;&#x2F;li&gt;
45+
&lt;&#x2F;ul&gt;
46+
&lt;br&gt;
47+
&lt;h2 id=&quot;videos&quot;&gt;Videos&lt;a class=&quot;zola-anchor&quot; href=&quot;#videos&quot; aria-label=&quot;Anchor link for: videos&quot;&gt;πŸ”—&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
48+
&lt;p align=&quot;center&quot;&gt;&lt;iframe width=&quot;560&quot; height=&quot;315&quot; loading=&quot;lazy&quot; src=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;embed&#x2F;MSbGokwHm-A&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen&gt;&lt;&#x2F;iframe&gt;&lt;&#x2F;p&gt;
49+
&lt;p&gt;On this blog, I &lt;a href=&quot;https:&#x2F;&#x2F;learnbyexample.github.io&#x2F;tips&#x2F;&quot;&gt;post tips&lt;&#x2F;a&gt; covering Python, command line tools and Vim. Here are video demos for these tips:&lt;&#x2F;p&gt;
50+
&lt;ul&gt;
51+
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=THSMmCZQn1A&amp;amp;list=PLTv2U3HnAL4PlFDiH3FXTHXRbhWs2sB3F&quot;&gt;Python tips&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
52+
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=p0KCLusMd5Q&amp;amp;list=PLTv2U3HnAL4PNTmRqZBSUgKaiHbRL2zeY&quot;&gt;Linux command line tips&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
53+
&lt;&#x2F;ul&gt;
54+
&lt;br&gt;
55+
&lt;h2 id=&quot;interactive-tui-app&quot;&gt;Interactive TUI app&lt;a class=&quot;zola-anchor&quot; href=&quot;#interactive-tui-app&quot; aria-label=&quot;Anchor link for: interactive-tui-app&quot;&gt;πŸ”—&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
56+
&lt;p&gt;I also wrote an &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;learnbyexample&#x2F;TUI-apps&#x2F;blob&#x2F;main&#x2F;GrepExercises&quot;&gt;interactive TUI app&lt;&#x2F;a&gt; based on some of the exercises from the ebook. Reference solutions are provided for both &lt;code&gt;GNU grep&lt;&#x2F;code&gt; and &lt;code&gt;ripgrep&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
57+
&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;https:&#x2F;&#x2F;raw.githubusercontent.com&#x2F;learnbyexample&#x2F;TUI-apps&#x2F;main&#x2F;GrepExercises&#x2F;grep_exercises.png&quot; alt=&quot;Sample screenshot from the interactive TUI app for grep exercises&quot; loading=&quot;lazy&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
58+
&lt;br&gt;
59+
&lt;h2 id=&quot;table-of-contents&quot;&gt;Table of Contents&lt;a class=&quot;zola-anchor&quot; href=&quot;#table-of-contents&quot; aria-label=&quot;Anchor link for: table-of-contents&quot;&gt;πŸ”—&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
60+
&lt;ol&gt;
61+
&lt;li&gt;Preface&lt;&#x2F;li&gt;
62+
&lt;li&gt;Introduction&lt;&#x2F;li&gt;
63+
&lt;li&gt;Frequently used options&lt;&#x2F;li&gt;
64+
&lt;li&gt;BRE&#x2F;ERE Regular Expressions&lt;&#x2F;li&gt;
65+
&lt;li&gt;Context matching&lt;&#x2F;li&gt;
66+
&lt;li&gt;Recursive search&lt;&#x2F;li&gt;
67+
&lt;li&gt;Miscellaneous options&lt;&#x2F;li&gt;
68+
&lt;li&gt;Perl Compatible Regular Expressions&lt;&#x2F;li&gt;
69+
&lt;li&gt;Gotchas and Tricks&lt;&#x2F;li&gt;
70+
&lt;li&gt;ripgrep&lt;&#x2F;li&gt;
71+
&lt;li&gt;Further Reading&lt;&#x2F;li&gt;
72+
&lt;&#x2F;ol&gt;
73+
&lt;br&gt;
74+
&lt;h2 id=&quot;web-version&quot;&gt;Web version&lt;a class=&quot;zola-anchor&quot; href=&quot;#web-version&quot; aria-label=&quot;Anchor link for: web-version&quot;&gt;πŸ”—&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
75+
&lt;p&gt;You can also read the book online here: &lt;a href=&quot;https:&#x2F;&#x2F;learnbyexample.github.io&#x2F;learn_gnugrep_ripgrep&#x2F;&quot;&gt;https:&#x2F;&#x2F;learnbyexample.github.io&#x2F;learn_gnugrep_ripgrep&#x2F;&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
76+
&lt;br&gt;
77+
&lt;h2 id=&quot;github-repo&quot;&gt;GitHub repo&lt;a class=&quot;zola-anchor&quot; href=&quot;#github-repo&quot; aria-label=&quot;Anchor link for: github-repo&quot;&gt;πŸ”—&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
78+
&lt;p&gt;Visit &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;learnbyexample&#x2F;learn_gnugrep_ripgrep&quot;&gt;https:&#x2F;&#x2F;github.com&#x2F;learnbyexample&#x2F;learn_gnugrep_ripgrep&lt;&#x2F;a&gt; for markdown source, example files, exercise solutions, sample chapters and other details related to the book.&lt;&#x2F;p&gt;
79+
&lt;blockquote&gt;
80+
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;info.svg&quot; alt=&quot;info&quot; &#x2F;&gt; See also &lt;a href=&quot;https:&#x2F;&#x2F;learnbyexample.github.io&#x2F;customizing-pandoc&#x2F;&quot;&gt;my blog post&lt;&#x2F;a&gt; on how to customize &lt;code&gt;pandoc&lt;&#x2F;code&gt; for generating beautiful PDF&#x2F;EPUB versions from GitHub style markdown.&lt;&#x2F;p&gt;
81+
&lt;&#x2F;blockquote&gt;
82+
&lt;br&gt;
83+
&lt;h2 id=&quot;newsletter&quot;&gt;Newsletter&lt;a class=&quot;zola-anchor&quot; href=&quot;#newsletter&quot; aria-label=&quot;Anchor link for: newsletter&quot;&gt;πŸ”—&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
84+
&lt;p&gt;Subscribe to &lt;a href=&quot;https:&#x2F;&#x2F;learnbyexample.gumroad.com&#x2F;l&#x2F;learnbyexample-weekly&quot;&gt;learnbyexample weekly&lt;&#x2F;a&gt; β€” free newsletter covering programming resources, updates on what I am creating, tips, tools, free ebooks and more, delivered every Friday.&lt;&#x2F;p&gt;
85+
&lt;br&gt;
86+
&lt;h2 id=&quot;feedback-and-errata&quot;&gt;Feedback and Errata&lt;a class=&quot;zola-anchor&quot; href=&quot;#feedback-and-errata&quot; aria-label=&quot;Anchor link for: feedback-and-errata&quot;&gt;πŸ”—&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
87+
&lt;p&gt;I would highly appreciate it if you&#x27;d &lt;strong&gt;let me know how you felt about this book&lt;&#x2F;strong&gt;. It could be anything from a simple thank you, Gumroad rating, pointing out a typo, mistakes in code snippets, which aspects of the book worked for you (or didn&#x27;t!) and so on. Reader feedback is essential and especially so for self-published authors.&lt;&#x2F;p&gt;
88+
&lt;p&gt;You can reach me via:&lt;&#x2F;p&gt;
89+
&lt;ul&gt;
90+
&lt;li&gt;Issue Manager: &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;learnbyexample&#x2F;learn_gnugrep_ripgrep&#x2F;issues&quot;&gt;https:&#x2F;&#x2F;github.com&#x2F;learnbyexample&#x2F;learn_gnugrep_ripgrep&#x2F;issues&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
91+
&lt;li&gt;E-mail: &lt;code&gt;echo &#x27;bGVhcm5ieWV4YW1wbGUubmV0QGdtYWlsLmNvbQo=&#x27; | base64 --decode&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
92+
&lt;li&gt;Twitter: &lt;a href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;learn_byexample&quot;&gt;https:&#x2F;&#x2F;twitter.com&#x2F;learn_byexample&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
93+
&lt;&#x2F;ul&gt;
94+
&lt;p&gt;Happy learning :)&lt;&#x2F;p&gt;
95+
</content>
96+
</entry>
1097
<entry xml:lang="en">
1198
<title>CLI tip 27: reverse text line wise with tac</title>
1299
<published>2023-05-09T00:00:00+00:00</published>

0 commit comments

Comments
Β (0)