5
5
<link href="https://learnbyexample.github.io/atom.xml" rel="self" type="application/atom+xml"/>
6
6
<link href="https://learnbyexample.github.io"/>
7
7
<generator uri="https://www.getzola.org/">Zola</generator>
8
- <updated>2022-06-17T00 :00:00+00:00</updated>
8
+ <updated>2022-06-20T00 :00:00+00:00</updated>
9
9
<id>https://learnbyexample.github.io/atom.xml</id>
10
10
<entry xml:lang="en">
11
11
<title>Vim tip 10: Undo and Redo</title>
@@ -812,29 +812,29 @@ mango
812
812
<entry xml:lang="en">
813
813
<title>CLI tip 7: limiting number of filtered lines</title>
814
814
<published>2022-03-16T00:00:00+00:00</published>
815
- <updated>2022-03-16T00 :00:00+00:00</updated>
815
+ <updated>2022-06-20T00 :00:00+00:00</updated>
816
816
<link href="https://learnbyexample.github.io/tips/cli-tip-7/" type="text/html"/>
817
817
<id>https://learnbyexample.github.io/tips/cli-tip-7/</id>
818
818
<content type="html"><p><code>grep</code> supports <code>-m</code> option to specify the maximum number of matching lines in the output.</p>
819
819
<pre style="background-color:#f5f5f5;">
820
820
<code><span style="color:#7f8989;"># all input lines containing &#39;a&#39;
821
- </span><span style="color:#1f1f1f;">$ </span><span style="color:#b39f04;">printf </span><span style="color:#d07711;">&#39;goal\nrate\neat\npit&#39; </span><span style="color:#72ab00;">|</span><span style="color:#1f1f1f;"> grep </span><span style="color:#d07711;">&#39;a&#39;</span><span style="color:#1f1f1f;">
821
+ </span><span style="color:#1f1f1f;">$ </span><span style="color:#b39f04;">printf </span><span style="color:#d07711;">&#39;goal\nrate\neat\npit\n &#39; </span><span style="color:#72ab00;">|</span><span style="color:#1f1f1f;"> grep </span><span style="color:#d07711;">&#39;a&#39;</span><span style="color:#1f1f1f;">
822
822
goal
823
823
rate
824
824
eat
825
825
826
826
</span><span style="color:#7f8989;"># maximum of 2 matching lines
827
- </span><span style="color:#1f1f1f;">$ </span><span style="color:#b39f04;">printf </span><span style="color:#d07711;">&#39;goal\nrate\neat\npit&#39; </span><span style="color:#72ab00;">|</span><span style="color:#1f1f1f;"> grep </span><span style="color:#72ab00;">-</span><span style="color:#1f1f1f;">m2 </span><span style="color:#d07711;">&#39;a&#39;</span><span style="color:#1f1f1f;">
827
+ </span><span style="color:#1f1f1f;">$ </span><span style="color:#b39f04;">printf </span><span style="color:#d07711;">&#39;goal\nrate\neat\npit\n &#39; </span><span style="color:#72ab00;">|</span><span style="color:#1f1f1f;"> grep </span><span style="color:#72ab00;">-</span><span style="color:#1f1f1f;">m2 </span><span style="color:#d07711;">&#39;a&#39;</span><span style="color:#1f1f1f;">
828
828
goal
829
829
rate
830
- $ </span><span style="color:#b39f04;">printf </span><span style="color:#d07711;">&#39;goal\nrate\neat\npit&#39; </span><span style="color:#72ab00;">|</span><span style="color:#1f1f1f;"> grep </span><span style="color:#72ab00;">-</span><span style="color:#1f1f1f;">m2 </span><span style="color:#d07711;">&#39;pi&#39;</span><span style="color:#1f1f1f;">
830
+ $ </span><span style="color:#b39f04;">printf </span><span style="color:#d07711;">&#39;goal\nrate\neat\npit\n &#39; </span><span style="color:#72ab00;">|</span><span style="color:#1f1f1f;"> grep </span><span style="color:#72ab00;">-</span><span style="color:#1f1f1f;">m2 </span><span style="color:#d07711;">&#39;pi&#39;</span><span style="color:#1f1f1f;">
831
831
pit
832
832
833
833
</span><span style="color:#7f8989;"># example with -v option
834
- </span><span style="color:#1f1f1f;">$ </span><span style="color:#b39f04;">printf </span><span style="color:#d07711;">&#39;goal\nrate\neat\npit&#39; </span><span style="color:#72ab00;">|</span><span style="color:#1f1f1f;"> grep </span><span style="color:#72ab00;">-</span><span style="color:#1f1f1f;">v </span><span style="color:#d07711;">&#39;e&#39;</span><span style="color:#1f1f1f;">
834
+ </span><span style="color:#1f1f1f;">$ </span><span style="color:#b39f04;">printf </span><span style="color:#d07711;">&#39;goal\nrate\neat\npit\n &#39; </span><span style="color:#72ab00;">|</span><span style="color:#1f1f1f;"> grep </span><span style="color:#72ab00;">-</span><span style="color:#1f1f1f;">v </span><span style="color:#d07711;">&#39;e&#39;</span><span style="color:#1f1f1f;">
835
835
goal
836
836
pit
837
- $ </span><span style="color:#b39f04;">printf </span><span style="color:#d07711;">&#39;goal\nrate\neat\npit&#39; </span><span style="color:#72ab00;">|</span><span style="color:#1f1f1f;"> grep </span><span style="color:#72ab00;">-</span><span style="color:#1f1f1f;">v </span><span style="color:#72ab00;">-</span><span style="color:#1f1f1f;">m1 </span><span style="color:#d07711;">&#39;e&#39;</span><span style="color:#1f1f1f;">
837
+ $ </span><span style="color:#b39f04;">printf </span><span style="color:#d07711;">&#39;goal\nrate\neat\npit\n &#39; </span><span style="color:#72ab00;">|</span><span style="color:#1f1f1f;"> grep </span><span style="color:#72ab00;">-</span><span style="color:#1f1f1f;">v </span><span style="color:#72ab00;">-</span><span style="color:#1f1f1f;">m1 </span><span style="color:#d07711;">&#39;e&#39;</span><span style="color:#1f1f1f;">
838
838
goal
839
839
</span></code></pre>
840
840
<p>With multiple file input, the restriction is applied for each file <em>separately</em>.</p>
843
843
brown bread mat cake </span><span style="color:#b3933a;">42</span><span style="color:#1f1f1f;">
844
844
blue cake mug shirt </span><span style="color:#72ab00;">-</span><span style="color:#b3933a;">7</span><span style="color:#1f1f1f;">
845
845
yellow banana window shoes </span><span style="color:#b3933a;">3.14</span><span style="color:#1f1f1f;">
846
- $ </span><span style="color:#b39f04;">printf </span><span style="color:#d07711;">&#39;goal\nrate\neat\npit&#39; </span><span style="color:#72ab00;">&gt;</span><span style="color:#1f1f1f;"> ip.txt
846
+ $ </span><span style="color:#b39f04;">printf </span><span style="color:#d07711;">&#39;goal\nrate\neat\npit\n &#39; </span><span style="color:#72ab00;">&gt;</span><span style="color:#1f1f1f;"> ip.txt
847
847
848
848
$ grep </span><span style="color:#72ab00;">-</span><span style="color:#1f1f1f;">m1 </span><span style="color:#d07711;">&#39;i&#39;</span><span style="color:#1f1f1f;"> table.txt ip.txt
849
849
table.txt</span><span style="color:#72ab00;">:</span><span style="color:#1f1f1f;">blue cake mug shirt </span><span style="color:#72ab00;">-</span><span style="color:#b3933a;">7</span><span style="color:#1f1f1f;">
@@ -854,7 +854,10 @@ ip.txt</span><span style="color:#72ab00;">:</
854
854
blue cake mug shirt </span><span style="color:#72ab00;">-</span><span style="color:#b3933a;">7</span><span style="color:#1f1f1f;">
855
855
$ cat table.txt ip.txt </span><span style="color:#72ab00;">|</span><span style="color:#1f1f1f;"> grep </span><span style="color:#72ab00;">-</span><span style="color:#1f1f1f;">m1 </span><span style="color:#d07711;">&#39;go&#39;</span><span style="color:#1f1f1f;">
856
856
goal
857
- </span></code></pre><br>
857
+ </span></code></pre>
858
+ <p><strong>Video demo</strong>:</p>
859
+ <p align="center"><iframe width="560" height="315" loading="lazy" src="https://www.youtube.com/embed/9W5jNjmE_04" title="YouTube video player" frameborder="0" allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p>
860
+ <br>
858
861
<p><img src="/images/info.svg" alt="info" /> See my <a href="https://github.com/learnbyexample/learn_gnugrep_ripgrep">GNU GREP and RIPGREP</a> ebook if you are interested in learning about <code>GNU grep</code> and <code>ripgrep</code> commands in more detail.</p>
859
862
</content>
860
863
</entry>
923
926
<entry xml:lang="en">
924
927
<title>Python tip 7: creating a deepcopy of collections</title>
925
928
<published>2022-03-09T00:00:00+00:00</published>
926
- <updated>2022-03-09T00 :00:00+00:00</updated>
929
+ <updated>2022-06-20T00 :00:00+00:00</updated>
927
930
<link href="https://learnbyexample.github.io/tips/python-tip-7/" type="text/html"/>
928
931
<id>https://learnbyexample.github.io/tips/python-tip-7/</id>
929
932
<content type="html"><p>From <a href="https://docs.python.org/3/library/copy.html#module-copy">copy</a> built-in module:</p>
954
957
</span><span style="color:#72ab00;">&gt;&gt;&gt; </span><span style="color:#1f1f1f;">nums_2d
955
958
[[</span><span style="color:#b3933a;">1</span><span style="color:#1f1f1f;">, </span><span style="color:#b3933a;">3</span><span style="color:#1f1f1f;">, </span><span style="color:#b3933a;">2</span><span style="color:#1f1f1f;">, </span><span style="color:#b3933a;">10</span><span style="color:#1f1f1f;">], [</span><span style="color:#b3933a;">1.2</span><span style="color:#1f1f1f;">, </span><span style="color:#72ab00;">-</span><span style="color:#b3933a;">0.2</span><span style="color:#1f1f1f;">, </span><span style="color:#b3933a;">0</span><span style="color:#1f1f1f;">, </span><span style="color:#b3933a;">2</span><span style="color:#1f1f1f;">], [</span><span style="color:#b3933a;">100</span><span style="color:#1f1f1f;">, </span><span style="color:#b3933a;">200</span><span style="color:#1f1f1f;">]]
956
959
</span></code></pre>
960
+ <p><strong>Video demo</strong>:</p>
961
+ <p align="center"><iframe width="560" height="315" loading="lazy" src="https://www.youtube.com/embed/nbBYeNPQ-no" title="YouTube video player" frameborder="0" allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p>
962
+ <br>
957
963
<p><img src="/images/info.svg" alt="info" /> See <a href="https://learnbyexample.github.io/100_page_python_intro/mutability.html">Mutability</a> chapter from my <a href="https://github.com/learnbyexample/100_page_python_intro">100 Page Python Intro</a> ebook for more details on this topic.</p>
958
964
</content>
959
965
</entry>
0 commit comments