<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: o2sh</title>
    <description>The latest articles on DEV Community by o2sh (@o2sh).</description>
    <link>https://dev.to/o2sh</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F68738%2Fbd4c40ae-ce5e-485a-afbb-6999913b5999.jpg</url>
      <title>DEV Community: o2sh</title>
      <link>https://dev.to/o2sh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/o2sh"/>
    <language>en</language>
    <item>
      <title>Neofetch for Git repositories</title>
      <dc:creator>o2sh</dc:creator>
      <pubDate>Sun, 08 Nov 2020 14:05:36 +0000</pubDate>
      <link>https://dev.to/o2sh/neofetch-for-git-repositories-439c</link>
      <guid>https://dev.to/o2sh/neofetch-for-git-repositories-439c</guid>
      <description>&lt;p&gt;Here is a fun little tool you might enjoy. It doesn't do much other than displaying a bunch of info about your Git Repository along side an ASCII logo of the dominant language.&lt;/p&gt;

&lt;p&gt;Onefetch supports more than &lt;a href="https://github.com/o2sh/onefetch/wiki/language-Support" rel="noopener noreferrer"&gt;50 different programming languages&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Written fully in Rust, it implements Kitty, Sixel and iTerm image protocol to render graphics (images) on supported terminals --&amp;gt; More info &lt;a href="https://github.com/o2sh/onefetch/wiki/Images-in-the-terminal" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fcrscxawtgkau00na9gkq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fcrscxawtgkau00na9gkq.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I would love some feedback :)&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/o2sh" rel="noopener noreferrer"&gt;
        o2sh
      &lt;/a&gt; / &lt;a href="https://github.com/o2sh/onefetch" rel="noopener noreferrer"&gt;
        onefetch
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Command-line Git information tool
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;&lt;a rel="noopener noreferrer" href="https://github.com/o2sh/onefetchassets/onefetch.svg"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fo2sh%2Fonefetchassets%2Fonefetch.svg" height="130px"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h5 class="heading-element"&gt;Command-line Git information tool written in Rust&lt;/h5&gt;
&lt;/div&gt;
&lt;p&gt;
    &lt;a href="https://crates.io/crates/onefetch" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/e16b5632f0318b22ea9f7336f2bea73b22e28408afb172241b91bd64d9a030c1/68747470733a2f2f696d672e736869656c64732e696f2f6372617465732f762f6f6e6566657463682e737667" alt="cargo"&gt;&lt;/a&gt;
    &lt;a href="https://github.com/o2sh/onefetch/actions" rel="noopener noreferrer"&gt;&lt;img src="https://github.com/o2sh/onefetch/workflows/CI/badge.svg" alt="Build Status"&gt;&lt;/a&gt;
  &lt;a href="https://onefetch.dev" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fo2sh%2Fonefetchassets%2Flanguage-badge.svg"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/o2sh/onefetch/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/bd6752dd165fe3623dcbe9bf0948fa7fef2820bfad5d3bc099cdf2a9d5f35573/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6f3273682f6f6e6566657463682f68656c7025323077616e7465643f636f6c6f723d677265656e" alt="help wanted"&gt;&lt;/a&gt;
    &lt;a href="https://github.com/o2sh/onefetchLICENSE.md" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/6581c31c16c1b13ddc2efb92e2ad69a93ddc4a92fd871ff15d401c4c6c9155a4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667"&gt;&lt;/a&gt;
    &lt;a rel="noopener noreferrer" href="https://github.com/o2sh/onefetchassets/msrv-badge.svg"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fo2sh%2Fonefetchassets%2Fmsrv-badge.svg"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
  &lt;a href="https://github.com/o2sh/onefetchdocs/README.ar.md" rel="noopener noreferrer"&gt;العربية&lt;/a&gt; |
  &lt;a href="https://github.com/o2sh/onefetchdocs/README.cn.md" rel="noopener noreferrer"&gt;简体中文&lt;/a&gt; |
  &lt;a href="https://github.com/o2sh/onefetchdocs/README.de.md" rel="noopener noreferrer"&gt;Deutsch&lt;/a&gt; |
  &lt;a href="https://github.com/o2sh/onefetchdocs/README.es.md" rel="noopener noreferrer"&gt;Español&lt;/a&gt; |
  &lt;a href="https://github.com/o2sh/onefetchdocs/README.fa.md" rel="noopener noreferrer"&gt;فارسی&lt;/a&gt; |
  &lt;a href="https://github.com/o2sh/onefetchdocs/README.fr.md" rel="noopener noreferrer"&gt;Français&lt;/a&gt; |
  &lt;a href="https://github.com/o2sh/onefetchdocs/README.ja.md" rel="noopener noreferrer"&gt;日本語&lt;/a&gt; |
  &lt;a href="https://github.com/o2sh/onefetchdocs/README.kr.md" rel="noopener noreferrer"&gt;한국어&lt;/a&gt; |
  &lt;a href="https://github.com/o2sh/onefetchdocs/README.ru.md" rel="noopener noreferrer"&gt;Русский&lt;/a&gt; |
  &lt;a href="https://github.com/o2sh/onefetchdocs/README.tr.md" rel="noopener noreferrer"&gt;Türkçe&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/o2sh/onefetchassets/screenshot-1.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fo2sh%2Fonefetchassets%2Fscreenshot-1.png" height="250px"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Onefetch is a command-line Git information tool written in &lt;code&gt;Rust&lt;/code&gt; that displays project information and code statistics for a local Git repository directly to your terminal. The tool is completely offline - no network access is required.&lt;/p&gt;

&lt;p&gt;By default, the repo's information is displayed alongside the dominant language's logo, but you can further configure onefetch to instead use an image - on supported terminals -, a text input or nothing at all.&lt;/p&gt;

&lt;p&gt;It automatically detects open source licenses from texts and provides the user with valuable information like code distribution, pending changes, number of dependencies (by package manager), top contributors (by number of commits), size on disk, creation date, LOC (lines of code), etc.&lt;/p&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/o2sh/onefetchassets/screenshot-2.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fo2sh%2Fonefetchassets%2Fscreenshot-2.png" height="250px"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Onefetch can be configured via command-line flags to display exactly…&lt;/p&gt;
&lt;/div&gt;


&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/o2sh/onefetch" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


</description>
      <category>rust</category>
      <category>git</category>
      <category>showdev</category>
    </item>
    <item>
      <title>What is the Coolest Program ever? </title>
      <dc:creator>o2sh</dc:creator>
      <pubDate>Mon, 27 May 2019 12:43:31 +0000</pubDate>
      <link>https://dev.to/o2sh/what-is-the-coolest-program-ever-2h71</link>
      <guid>https://dev.to/o2sh/what-is-the-coolest-program-ever-2h71</guid>
      <description>&lt;p&gt;Came to share a pretty sweet initiative from /g/ (4chan board focused on technology).&lt;/p&gt;

&lt;p&gt;The idea was to have a site where people could share and discuss about the coolest pieces of code out there.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You can access the App by clicking &lt;a href="https://codl.dev"&gt;here&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The site was launched last friday, so there isn't much content yet. Contributions are more than welcomed.&lt;/p&gt;

&lt;p&gt;Voilà, show some love will u ❤️&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wOLMw-zx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/089nasu5skabzos298do.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wOLMw-zx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/089nasu5skabzos298do.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>4chan</category>
      <category>showdev</category>
    </item>
    <item>
      <title>add one</title>
      <dc:creator>o2sh</dc:creator>
      <pubDate>Tue, 06 Nov 2018 21:20:46 +0000</pubDate>
      <link>https://dev.to/o2sh/add-one-493i</link>
      <guid>https://dev.to/o2sh/add-one-493i</guid>
      <description>&lt;p&gt;Here is a little program I wrote in Rust that allows you to add one to any number&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/o2sh" rel="noopener noreferrer"&gt;
        o2sh
      &lt;/a&gt; / &lt;a href="https://github.com/o2sh/add-one" rel="noopener noreferrer"&gt;
        add-one
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      adds one to a number
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;add-one&lt;/h1&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a href="https://crates.io/crates/add-one" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/2035eafc3c3a41e20c682f8d93f8e59b055859bae732c4d869bb66a6524d2130/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6372617465732e696f2d312e302d6f72616e67652e737667" alt="crate"&gt;&lt;/a&gt;
&lt;a href="https://docs.rs/add-one" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/8c723715f7c8b1101f9f1d356b1655e183bf7559b4f6b6f2fb1cdbcaa9eec4fb/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f63732d312e302d626c75652e737667" alt="documentation"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Returns n + 1.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Example&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-rust notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-k"&gt;use&lt;/span&gt; add_one&lt;span class="pl-kos"&gt;::&lt;/span&gt;add_one&lt;span class="pl-kos"&gt;;&lt;/span&gt;

&lt;span class="pl-k"&gt;fn&lt;/span&gt; &lt;span class="pl-en"&gt;main&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt; &lt;span class="pl-kos"&gt;{&lt;/span&gt;
    &lt;span class="pl-k"&gt;let&lt;/span&gt; &lt;span class="pl-k"&gt;mut&lt;/span&gt; bytes = &lt;span class="pl-smi"&gt;Vec&lt;/span&gt;&lt;span class="pl-kos"&gt;::&lt;/span&gt;&lt;span class="pl-en"&gt;new&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-kos"&gt;;&lt;/span&gt;

    &lt;span class="pl-k"&gt;match&lt;/span&gt; &lt;span class="pl-en"&gt;add_one&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-s"&gt;"123"&lt;/span&gt;&lt;span class="pl-kos"&gt;.&lt;/span&gt;&lt;span class="pl-en"&gt;as_bytes&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt; &lt;span class="pl-c1"&gt;&amp;amp;&lt;/span&gt;&lt;span class="pl-k"&gt;mut&lt;/span&gt; bytes&lt;span class="pl-kos"&gt;)&lt;/span&gt; &lt;span class="pl-kos"&gt;{&lt;/span&gt;
        &lt;span class="pl-v"&gt;Ok&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt; =&amp;gt; &lt;span class="pl-en"&gt;println&lt;/span&gt;&lt;span class="pl-en"&gt;!&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-s"&gt;"{}"&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt; std&lt;span class="pl-kos"&gt;::&lt;/span&gt;&lt;span class="pl-smi"&gt;str&lt;/span&gt;&lt;span class="pl-kos"&gt;::&lt;/span&gt;from_utf8&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-c1"&gt;&amp;amp;&lt;/span&gt;bytes&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-kos"&gt;.&lt;/span&gt;unwrap&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt;
        &lt;span class="pl-v"&gt;Err&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;e&lt;span class="pl-kos"&gt;)&lt;/span&gt; =&amp;gt; &lt;span class="pl-kos"&gt;{&lt;/span&gt;
            &lt;span class="pl-en"&gt;eprintln&lt;/span&gt;&lt;span class="pl-en"&gt;!&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-s"&gt;"Error: {}"&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt; e&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-kos"&gt;;&lt;/span&gt;
        &lt;span class="pl-kos"&gt;}&lt;/span&gt;
    &lt;span class="pl-kos"&gt;}&lt;/span&gt;
&lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;or&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;cargo install add-one
add-one 12
13&lt;/pre&gt;

&lt;/div&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/o2sh/add-one" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;The idea is pretty simple. Indeed, since incrementing a number leaves most of it unchanged, it's much faster to work on the decimal digits itself.&lt;/p&gt;

&lt;p&gt;As a consequence, after breaking the input into a list of digits, we just have to increment or decrement (in case of negative input) the last number.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;Not so fast...&lt;/em&gt;
&lt;/h4&gt;

&lt;p&gt;What if the number has trailing nines for positive inputs or trailing zeros for negative numbers ?&lt;/p&gt;

&lt;p&gt;Well, if the number has trailing nines (e.g.: 7561325999) or trailing zeros (e.g.: -1645000), we just need to increment the last "non-nine" digit (or decrement the last "non-zero" digit) and switch the nines into zeros and zeros into nines (for negative inputs).&lt;/p&gt;

&lt;p&gt;And, in the case of floating point inputs (e.g.: 15691.12313) we simply ignore the decimal part and apply the previous rule to the integer part.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;Unless...&lt;/em&gt;
&lt;/h4&gt;

&lt;p&gt;...the input belongs to ]-1,0[ (e.g.: -0.2 + 1 = 0,8 (not 1.2!)). In which case, we have to give it a special treatment.&lt;/p&gt;

&lt;p&gt;Thanks for reading ! :)&lt;/p&gt;

</description>
      <category>rust</category>
      <category>algortihm</category>
    </item>
    <item>
      <title>New sorting algorithm: mkdir sort</title>
      <dc:creator>o2sh</dc:creator>
      <pubDate>Wed, 29 Aug 2018 14:15:50 +0000</pubDate>
      <link>https://dev.to/o2sh/new-sorting-algorithm-mkdir-sort-dnm</link>
      <guid>https://dev.to/o2sh/new-sorting-algorithm-mkdir-sort-dnm</guid>
      <description>&lt;p&gt;A little sorting algorithm I made just for fun.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;#!/bin/bash&lt;/span&gt;
&lt;span class="k"&gt;function &lt;/span&gt;f&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="si"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;eval printf&lt;/span&gt; &lt;span class="s1"&gt;'g/%.0s'&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;1..&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="o"&gt;}&lt;/span&gt;&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; | xargs &lt;span class="nb"&gt;mkdir&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nt"&gt;-n&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="k"&gt;do
    &lt;/span&gt;f &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
    &lt;span class="nb"&gt;shift
&lt;/span&gt;&lt;span class="k"&gt;done

&lt;/span&gt;find &lt;span class="nb"&gt;.&lt;/span&gt; &lt;span class="nt"&gt;-type&lt;/span&gt; d | &lt;span class="nb"&gt;sed&lt;/span&gt; &lt;span class="s1"&gt;'s#.*/##'&lt;/span&gt; | &lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="nt"&gt;-v&lt;/span&gt; g

&lt;span class="c"&gt;#./mkdirsort.sh 9 2 7 4 6&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;It's like a "b-tree sort" using the FS&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--i3JOwpme--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/o2sh"&gt;
        o2sh
      &lt;/a&gt; / &lt;a href="https://github.com/o2sh/mkdir-sort"&gt;
        mkdir-sort
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      sorting algorithm using mkdir
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h1&gt;
mkdir-sort&lt;/h1&gt;
&lt;p&gt;sorting algorithm using mkdir&lt;/p&gt;
&lt;h2&gt;
Example&lt;/h2&gt;
&lt;div class="highlight highlight-source-shell js-code-highlight"&gt;
&lt;pre&gt;$ mkdir wkdir
$ &lt;span class="pl-c1"&gt;cd&lt;/span&gt; wkdir
$ ./mkdirsort.sh 9 2 7 4 6
$ rm -rf g/&lt;/pre&gt;

&lt;/div&gt;
&lt;/div&gt;

  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/o2sh/mkdir-sort"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;



</description>
      <category>shell</category>
      <category>algorithms</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
