<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Commands &amp; Shells Archives - Igor Oseledko</title>
	<atom:link href="https://www.igoroseledko.com/category/sysadmin/commands-shells/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.igoroseledko.com/category/sysadmin/commands-shells/</link>
	<description>I know everything. Just not all at once...</description>
	<lastBuildDate>Mon, 20 Jul 2026 17:34:22 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>GPT Prompt Engineering</title>
		<link>https://www.igoroseledko.com/gpt-prompt-engineering/</link>
		
		<dc:creator><![CDATA[Igor]]></dc:creator>
		<pubDate>Mon, 20 Jul 2026 17:34:22 +0000</pubDate>
				<category><![CDATA[Commands & Shells]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Text Processing]]></category>
		<guid isPermaLink="false">https://www.igoroseledko.com/?p=135076</guid>

					<description><![CDATA[<p>Originally published July 21, 2023 @ 12:24 pmPicture a giant maze. In the end &#8211; a particular piece of cheese (there are many, but this one is special) representing the answer you seek. ChatGPT is the rat traversing the maze. You can help the rat by blocking off the dead-end paths obvious to you. And [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.igoroseledko.com/gpt-prompt-engineering/">GPT Prompt Engineering</a> appeared first on <a rel="nofollow" href="https://www.igoroseledko.com">Igor Oseledko</a>.</p>
]]></description>
		
		
		
			</item>
		<item>
		<title>Identifying JAR Version Requirements</title>
		<link>https://www.igoroseledko.com/identifying-jar-version-requirements/</link>
		
		<dc:creator><![CDATA[Igor]]></dc:creator>
		<pubDate>Sun, 19 Jul 2026 15:36:27 +0000</pubDate>
				<category><![CDATA[Commands & Shells]]></category>
		<category><![CDATA[Featured]]></category>
		<guid isPermaLink="false">https://www.igoroseledko.com/?p=135071</guid>

					<description><![CDATA[<p>Originally published July 20, 2023 @ 9:51 amRecently, I had to upgrade an old Java application running on an equally old Sun Solaris 11 server. Several upgrade candidates arrived as JAR files without much detail about the system requirements. For reasons outside this discussion, upgrading the Java version on the server was out of the [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.igoroseledko.com/identifying-jar-version-requirements/">Identifying JAR Version Requirements</a> appeared first on <a rel="nofollow" href="https://www.igoroseledko.com">Igor Oseledko</a>.</p>
]]></description>
		
		
		
			</item>
		<item>
		<title>Bash Scripts and MySQL</title>
		<link>https://www.igoroseledko.com/bash-scripts-and-mysql/</link>
		
		<dc:creator><![CDATA[Igor]]></dc:creator>
		<pubDate>Thu, 25 Jun 2026 12:59:12 +0000</pubDate>
				<category><![CDATA[Commands & Shells]]></category>
		<category><![CDATA[MySQL]]></category>
		<guid isPermaLink="false">https://www.igoroseledko.com/?p=133897</guid>

					<description><![CDATA[<p>Originally published June 26, 2020 @ 12:24 amI frequently use MySQL to store data collected or processed by various shell scripts. The database comes in handy when massaging data with good old awk and sed gets too cumbersome. This is really very basic stuff: just loading some data into MySQL and retrieving it. The usual [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.igoroseledko.com/bash-scripts-and-mysql/">Bash Scripts and MySQL</a> appeared first on <a rel="nofollow" href="https://www.igoroseledko.com">Igor Oseledko</a>.</p>
]]></description>
		
		
		
			</item>
		<item>
		<title>Bulk Create Linux Users using Salt</title>
		<link>https://www.igoroseledko.com/bulk-create-linux-users-using-salt/</link>
		
		<dc:creator><![CDATA[Igor]]></dc:creator>
		<pubDate>Thu, 18 Jun 2026 22:16:05 +0000</pubDate>
				<category><![CDATA[Commands & Shells]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">https://www.igoroseledko.com/?p=133889</guid>

					<description><![CDATA[<p>Originally published June 19, 2020 @ 1:23 pmRecently I ran into a situation where hundreds of VMs recently built via OpenShift/Ansible automation were missing an important local user account used for security audits. While our automation guys were working on tracking down and fixing the build configuration, I needed to add the account manually. Luckily [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.igoroseledko.com/bulk-create-linux-users-using-salt/">Bulk Create Linux Users using Salt</a> appeared first on <a rel="nofollow" href="https://www.igoroseledko.com">Igor Oseledko</a>.</p>
]]></description>
		
		
		
			</item>
		<item>
		<title>Randomizing Filenames</title>
		<link>https://www.igoroseledko.com/randomizing-filenames/</link>
		
		<dc:creator><![CDATA[Igor]]></dc:creator>
		<pubDate>Wed, 29 Apr 2026 17:50:42 +0000</pubDate>
				<category><![CDATA[Commands & Shells]]></category>
		<category><![CDATA[Files]]></category>
		<guid isPermaLink="false">https://www.igoroseledko.com/?p=135057</guid>

					<description><![CDATA[<p>Originally published April 30, 2023 @ 12:15 pmI had a bunch of folders with some old photos, and I needed to randomize the filenames as an easy way to get a random selection of files. This should&#8217;ve been easy, but I made the mistake of googling the answer instead of writing this one-liner myself because [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.igoroseledko.com/randomizing-filenames/">Randomizing Filenames</a> appeared first on <a rel="nofollow" href="https://www.igoroseledko.com">Igor Oseledko</a>.</p>
]]></description>
		
		
		
			</item>
		<item>
		<title>Finding Gaps in Timestamps</title>
		<link>https://www.igoroseledko.com/finding-gaps-in-timestamps/</link>
		
		<dc:creator><![CDATA[Igor]]></dc:creator>
		<pubDate>Fri, 24 Apr 2026 13:57:47 +0000</pubDate>
				<category><![CDATA[Commands & Shells]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Monitoring]]></category>
		<guid isPermaLink="false">https://www.igoroseledko.com/?p=135054</guid>

					<description><![CDATA[<p>Originally published April 25, 2023 @ 8:29 amSometimes knowing when something didn&#8217;t happen can be just as valuable as knowing when it did. For reasons yet to be determined, my Salt Master server needs to be bounced occasionally. Not the whole server &#8211; just the salt-master service. I needed to find a good time to [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.igoroseledko.com/finding-gaps-in-timestamps/">Finding Gaps in Timestamps</a> appeared first on <a rel="nofollow" href="https://www.igoroseledko.com">Igor Oseledko</a>.</p>
]]></description>
		
		
		
			</item>
		<item>
		<title>Coronavirus Stats in Bash</title>
		<link>https://www.igoroseledko.com/coronavirus-stats-in-bash/</link>
		
		<dc:creator><![CDATA[Igor]]></dc:creator>
		<pubDate>Thu, 19 Mar 2026 08:00:48 +0000</pubDate>
				<category><![CDATA[Commands & Shells]]></category>
		<category><![CDATA[Featured]]></category>
		<guid isPermaLink="false">https://www.igoroseledko.com/?p=133775</guid>

					<description><![CDATA[<p>Originally published March 19, 2020 @ 10:37 pmThe result of my morbid fascination with the coronavirus situation is this quick bash script that parses Johns Hopkins University coronavirus data to generate a quick report for the current date for the specified countries. The plan is to add some statistical analysis to spot potential anomalies in [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.igoroseledko.com/coronavirus-stats-in-bash/">Coronavirus Stats in Bash</a> appeared first on <a rel="nofollow" href="https://www.igoroseledko.com">Igor Oseledko</a>.</p>
]]></description>
		
		
		
			</item>
		<item>
		<title>Updating Lynis</title>
		<link>https://www.igoroseledko.com/updating-lynis/</link>
		
		<dc:creator><![CDATA[Igor]]></dc:creator>
		<pubDate>Sat, 28 Feb 2026 02:22:08 +0000</pubDate>
				<category><![CDATA[Commands & Shells]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">https://www.igoroseledko.com/?p=133747</guid>

					<description><![CDATA[<p>Originally published February 29, 2020 @ 5:04 pmLynis is an excellent security audit tool for Linux and various Unix derivatives. I have a small wrapper script that runs Lynis via a cron job, does a selective diff with the previous run&#8217;s output, and sends me an email. Unfortunately, Lynis does not update itself automatically and [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.igoroseledko.com/updating-lynis/">Updating Lynis</a> appeared first on <a rel="nofollow" href="https://www.igoroseledko.com">Igor Oseledko</a>.</p>
]]></description>
		
		
		
			</item>
		<item>
		<title>Converting Geofency Data to Google Maps</title>
		<link>https://www.igoroseledko.com/converting-geofency-data-to-google-maps/</link>
		
		<dc:creator><![CDATA[Igor]]></dc:creator>
		<pubDate>Sat, 07 Feb 2026 17:25:10 +0000</pubDate>
				<category><![CDATA[Commands & Shells]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[Scripts]]></category>
		<guid isPermaLink="false">https://www.igoroseledko.com/?p=135035</guid>

					<description><![CDATA[<p>Originally published February 8, 2023 @ 8:57 amGeofency is a time and location tracking app for iOS. I&#8217;ve been using it for many years to keep track of my whereabouts. At times, this information can come in quite handy. The app does not track your movements continuously. Instead, it uses Geofencing and iBeacon technology, which [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.igoroseledko.com/converting-geofency-data-to-google-maps/">Converting Geofency Data to Google Maps</a> appeared first on <a rel="nofollow" href="https://www.igoroseledko.com">Igor Oseledko</a>.</p>
]]></description>
		
		
		
			</item>
		<item>
		<title>Reading Multi-Line Input in One Loop Iteration</title>
		<link>https://www.igoroseledko.com/reading-multi-line-input-in-one-loop-iteration/</link>
		
		<dc:creator><![CDATA[Igor]]></dc:creator>
		<pubDate>Sat, 31 Jan 2026 23:45:24 +0000</pubDate>
				<category><![CDATA[Commands & Shells]]></category>
		<category><![CDATA[Featured]]></category>
		<guid isPermaLink="false">https://www.igoroseledko.com/?p=134993</guid>

					<description><![CDATA[<p>Originally published February 1, 2023 @ 2:43 pmBash loops can read the input as words or lines, but what if you needed to accept multi-line input with a single loop iteration? In the following simple example, we randomly select a hundred lines from /var/log/messages and count the number of characters in each line: shuf -n [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.igoroseledko.com/reading-multi-line-input-in-one-loop-iteration/">Reading Multi-Line Input in One Loop Iteration</a> appeared first on <a rel="nofollow" href="https://www.igoroseledko.com">Igor Oseledko</a>.</p>
]]></description>
		
		
		
			</item>
	</channel>
</rss>
