<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Bash on besserentwickeln.de</title><link>https://besserentwickeln.de/tags/bash/</link><description>Recent content in Bash on besserentwickeln.de</description><generator>Hugo -- gohugo.io</generator><language>de</language><copyright>Philipp Tuchardt</copyright><lastBuildDate>Wed, 08 Jun 2022 00:00:00 +0000</lastBuildDate><atom:link href="https://besserentwickeln.de/tags/bash/index.xml" rel="self" type="application/rss+xml"/><item><title>History-Format</title><link>https://besserentwickeln.de/p/history-format/</link><pubDate>Wed, 08 Jun 2022 00:00:00 +0000</pubDate><guid>https://besserentwickeln.de/p/history-format/</guid><description>&lt;p>Der History einen Zeitstempel für den Befehlsverlauf hinzufügen (nur für die aktuelle Terminal-Sitzung) mit folgendem Befehl:&lt;/p>
&lt;p>&lt;code>HISTTIMEFORMAT=&amp;quot;%F %T &amp;quot;&lt;/code>&lt;/p>
&lt;p>Jetzt &lt;code>history&lt;/code> eingeben, und du solltest Zeitstempel bei deinen Bash-History-Befehlen sehen.&lt;/p>
&lt;p>&lt;a class="link" href="https://www.linuxuprising.com/2019/07/bash-history-how-to-show-timestamp-when.html" target="_blank" rel="noopener"
>Quelle&lt;/a>&lt;/p></description></item><item><title>Nur die drei neuesten Dateien behalten</title><link>https://besserentwickeln.de/p/nur-die-drei-neuesten-dateien-behalten/</link><pubDate>Tue, 24 May 2022 00:00:00 +0000</pubDate><guid>https://besserentwickeln.de/p/nur-die-drei-neuesten-dateien-behalten/</guid><description>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">ls -t | sed -e &amp;#39;1,3d&amp;#39; | xargs -d &amp;#39;\n&amp;#39; -r rm
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="was-passiert-hier">Was passiert hier?
&lt;/h2>&lt;p>&lt;code>ls -t&lt;/code>
listet alle Dateien im aktuellen Verzeichnis in absteigender Reihenfolge der Änderungszeit auf. Die zuletzt geänderten Dateien stehen zuerst, ein Dateiname pro Zeile.&lt;/p>
&lt;p>&lt;code>sed -e '1,3d'&lt;/code> löscht die ersten 3 Zeilen, also die 3 neuesten Dateien.&lt;/p>
&lt;p>&lt;code>xargs -d '\n' -r rm&lt;/code> liest die restlichen Zeilen, nimmt dabei &lt;code>\n&lt;/code> als einziges Trennzeichen
(so überstehen Dateinamen mit Leerzeichen) und hängt sie als Argumente an einen – bei sehr
vielen Dateien auch mehrere – &lt;code>rm&lt;/code>-Aufrufe an. &lt;code>-r&lt;/code> verhindert, dass &lt;code>rm&lt;/code> ohne Argumente
läuft, falls es 3 oder weniger Dateien gibt.&lt;/p>
&lt;blockquote>
&lt;p>&lt;code>xargs -d&lt;/code> ist eine GNU-Erweiterung. Unter macOS/BSD stattdessen
&lt;code>ls -t | tail -n +4 | tr '\n' '\0' | xargs -0 rm&lt;/code> verwenden.&lt;/p>&lt;/blockquote>
&lt;p>&lt;a class="link" href="https://stackoverflow.com/questions/2960022/shell-script-to-count-files-then-remove-oldest-files" target="_blank" rel="noopener"
>Quelle&lt;/a>&lt;/p></description></item></channel></rss>