<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Shell on /dev/urandom's dev site</title><link>https://devurandom.xyz/tags/shell/</link><description>Recent content in Shell on /dev/urandom's dev site</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Mon, 05 Jan 2026 14:11:24 +0300</lastBuildDate><atom:link href="https://devurandom.xyz/tags/shell/index.xml" rel="self" type="application/rss+xml"/><item><title>assorted shell scripts</title><link>https://devurandom.xyz/tech/assorted_shell_scripts/</link><pubDate>Sun, 31 May 2020 00:00:00 +0000</pubDate><guid>https://devurandom.xyz/tech/assorted_shell_scripts/</guid><description>&lt;p&gt;shell scripts:&lt;/p&gt;
&lt;p&gt;grab lines from dictionary, convert them into up-to-16-byte strings, do a binary dump&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;for x in `cat input_words.txt`; do echo $x | tr -d \\n | dd ibs=16 conv=sync 2&amp;gt;/dev/null | xxd; done
&lt;/code&gt;&lt;/pre&gt;
&lt;hr&gt;
&lt;p&gt;convert a .vgz directory to a .vgm one, along with updating all the playlists:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;rename &amp;quot;.vgz&amp;quot; &amp;quot;.vgm.gz&amp;quot; *.vgz; gzip -d *.vgm.gz; sed -i &amp;quot;s/\.vgz/\.vgm/&amp;quot; *.m3u
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;(requires rename from &lt;code&gt;util-linux&lt;/code&gt; and not from perl)&lt;/p&gt;</description></item><item><title>shell parameter expansion</title><link>https://devurandom.xyz/tech/shell_parameter_expansion/</link><pubDate>Sun, 31 May 2020 00:00:00 +0000</pubDate><guid>https://devurandom.xyz/tech/shell_parameter_expansion/</guid><description>&lt;p&gt;This is a small cheat sheet to remind me of how parameter expansion works in
unix shells.&lt;/p&gt;</description></item></channel></rss>