<?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>EmanuelDuss.ch. &#187; konsole</title>
	<atom:link href="http://emanuelduss.ch/tag/konsole/feed/" rel="self" type="application/rss+xml" />
	<link>http://emanuelduss.ch</link>
	<description>blog von @mindfuckup</description>
	<lastBuildDate>Thu, 26 Jan 2012 19:08:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Arbeiten mit VI: In Register speichern und abrufen</title>
		<link>http://emanuelduss.ch/2011/11/arbeiten-mit-vi-in-register-speichern-und-abrufen/</link>
		<comments>http://emanuelduss.ch/2011/11/arbeiten-mit-vi-in-register-speichern-und-abrufen/#comments</comments>
		<pubDate>Mon, 21 Nov 2011 21:13:09 +0000</pubDate>
		<dc:creator>Emanuel Duss</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Editor]]></category>
		<category><![CDATA[konsole]]></category>
		<category><![CDATA[vi]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://emanuelduss.ch/?p=618</guid>
		<description><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://emanuelduss.ch/2011/11/arbeiten-mit-vi-in-register-speichern-und-abrufen/&amp;text=Arbeiten mit VI: In Register speichern und abrufen&amp;via=mindfuckup&amp;related=DolcePixel"><img align="right" src="http://emanuelduss.ch/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
In VI kann man eine oder mehrere Zeilen kopieren oder ausschneiden und diese in Register ablegen. Auf diese Register kann man dann später zugreifen und so den Text wieder einfügen. Syntax Die Befehle beginnen mit einem Anführungszeichen (&#8220;) gefolgt von einem Buchstaben. Dieser Buchstabe ist der Name vom Register. Danach kommt der eigentliche Befehl von [...]]]></description>
			<content:encoded><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://emanuelduss.ch/2011/11/arbeiten-mit-vi-in-register-speichern-und-abrufen/&amp;text=Arbeiten mit VI: In Register speichern und abrufen&amp;via=mindfuckup&amp;related=DolcePixel"><img align="right" src="http://emanuelduss.ch/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
<p>In VI kann man eine oder mehrere Zeilen kopieren oder ausschneiden und diese in Register ablegen. Auf diese Register kann man dann später zugreifen und so den Text wieder einfügen.<br />
<span id="more-618"></span></p>
<h2>Syntax</h2>
<p>Die Befehle beginnen mit einem Anführungszeichen (<em>&#8220;</em>) gefolgt von einem Buchstaben. Dieser Buchstabe ist der Name vom Register. Danach kommt der eigentliche Befehl von VI.</p>
<ul>
<li><em>&#8220;add</em>: Löscht die aktuelle Zeile und speichert sie in Buffer &#8220;a&#8221;</li>
<li><em>&#8220;bY</em>: Kopiert die aktuelle Zeile in den Buffer &#8220;b&#8221;</li>
<li><em>&#8220;ap</em>: Fügt die gelöschte Zeile aus Buffer &#8220;a&#8221; ein</li>
<li><em>&#8220;bp</em>: Fügt die kopierte Zeile aus Buffer &#8220;b&#8221; ein</li>
<li><em>:registers</em>: Alle Register auflisten</li>
</ul>
<h2>Beispiel</h2>
<p>Wir haben folgende drei Zeilen in einer Textdatei:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">* Zeile 1: Diese Zeile wird in Register 'a' kopiert.<br />
* Zeile 2: Diese Zeile wird in Register 'b' ausgeschnitten.<br />
* Zeile 3:</div></div>
<p>Folgende Aktionen werden durchgeführt:</p>
<ul>
<li><em>&#8220;aY</em>: Die erste Zeile wird in das Register <em>a</em> kopiert.</li>
<li><em>j</em>: Es wird auf die nächste Zeile gewechselt.</li>
<li><em>&#8220;bdd</em>: Die Zeile wird gelöscht und in Register <em>b</em> gespeichert.</li>
<li><em>&#8220;ap</em>: Der Inhalt vom Register <em>a</em> wird unterhalb eingefügt.</li>
<li><em>&#8220;bp</em>: Der Der Inhalt vom Register <em>b</em> wird unterhalb eingefügt.</li>
</ul>
<p>Danach sieht der Text so aus:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">* Zeile 1: Diese Zeile wird in Register 'a' kopiert.<br />
* Zeile 3:<br />
* Zeile 1: Diese Zeile wird in Register 'a' kopiert.<br />
* Zeile 2: Diese Zeile wird in Register 'b' ausgeschnitten.</div></div>
<p>Dieses Beispiel erklärt den Einsatz von Registern sehr gut.</p>
<h2>Weitere Informationen</h2>
<ul>
<li>VI-Hilfe: <em>:help registers</em></li>
</ul>
 <p><a href="http://emanuelduss.ch/?flattrss_redirect&amp;id=618&amp;md5=5b8cb931c43d936aecd92d33fd4d78d7" title="Flattr" target="_blank"><img src="http://emanuelduss.ch/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://emanuelduss.ch/2011/11/arbeiten-mit-vi-in-register-speichern-und-abrufen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="http://emanuelduss.ch/?flattrss_redirect&amp;id=618&amp;md5=5b8cb931c43d936aecd92d33fd4d78d7" type="text/html" />"
	</item>
		<item>
		<title>Arbeiten mit VIM: Dateien in Tabs öffnen</title>
		<link>http://emanuelduss.ch/2011/10/arbeiten-mit-vim-dateien-in-tabs-offnen/</link>
		<comments>http://emanuelduss.ch/2011/10/arbeiten-mit-vim-dateien-in-tabs-offnen/#comments</comments>
		<pubDate>Sun, 23 Oct 2011 19:31:57 +0000</pubDate>
		<dc:creator>Emanuel Duss</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Editor]]></category>
		<category><![CDATA[konsole]]></category>
		<category><![CDATA[vi]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://emanuelduss.ch/?p=593</guid>
		<description><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://emanuelduss.ch/2011/10/arbeiten-mit-vim-dateien-in-tabs-offnen/&amp;text=Arbeiten mit VIM: Dateien in Tabs öffnen&amp;via=mindfuckup&amp;related=DolcePixel"><img align="right" src="http://emanuelduss.ch/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
VIM kann Dateien in Tabs darstellen. Dies ist sehr praktisch, wenn man mehrere Files gleichzeitig in einem Fenster bearbeiten und zwischen den einzelnen Dateien hin- und her wechseln will. Befehle Folgende Befehle sollte man in VIM kennen, um mit Tabs zu arbeiten: $ vim -p foo.tex bar.tex : Öffnet die zwei Files foo.tex und bar.tex [...]]]></description>
			<content:encoded><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://emanuelduss.ch/2011/10/arbeiten-mit-vim-dateien-in-tabs-offnen/&amp;text=Arbeiten mit VIM: Dateien in Tabs öffnen&amp;via=mindfuckup&amp;related=DolcePixel"><img align="right" src="http://emanuelduss.ch/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
<p>VIM kann Dateien in Tabs darstellen. Dies ist sehr praktisch, wenn man mehrere Files gleichzeitig in einem Fenster bearbeiten und zwischen den einzelnen Dateien hin- und her wechseln will.<br />
<span id="more-593"></span></p>
<h2>Befehle</h2>
<p>Folgende Befehle sollte man in VIM kennen, um mit Tabs zu arbeiten:</p>
<ul>
<li><em>$ vim -p foo.tex bar.tex</em> : Öffnet die zwei Files foo.tex und bar.tex mit VIM in Tabs</li>
<li><em>:tabe</em> : Neues File in neuem Tab öffnen</li>
<li><em>:tabe fnord.tex</em> : File fnord.tex in neuem Tab öffnen</li>
<li><em>gt</em> : Zum nächsten Tab wechseln</li>
<li><em>gT</em> : Zum vorhergehenden Tab wechseln</li>
<li><em>5gt</em> : Gehe zum 5. Tab</li>
</ul>
<h2>Beispiel</h2>
<p>Die Dateien <em>/etc/hosts</em>, <em>/etc/resolv.conf</em> und <em>/etc/rc.local</em> kann VIM in Tabs folgendermassen öffnen:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ vim -p /etc/hosts /etc/resolv.conf /etc/rc.local</div></div>
<p>Mit <em>:tabe</em> erstellt man eine neue leere Datei. Das sieht danach folgendermassen aus:</p>
<p><a href="http://emanuelduss.ch/wp-content/uploads/2011/10/vimtabs.png" rel="lightbox[593]"><img src="http://emanuelduss.ch/wp-content/uploads/2011/10/vimtabs-300x172.png" alt="" title="vimtabs" width="300" height="172" class="alignnone size-medium wp-image-594" /></a></p>
<h2>Weitere Informationen</h2>
<ul>
<li>Hilfe in VIM über Tabs: <em>:help tabs</em></li>
</ul>
 <p><a href="http://emanuelduss.ch/?flattrss_redirect&amp;id=593&amp;md5=121443e91e3b5709a482d28fc7af8ba9" title="Flattr" target="_blank"><img src="http://emanuelduss.ch/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://emanuelduss.ch/2011/10/arbeiten-mit-vim-dateien-in-tabs-offnen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="http://emanuelduss.ch/?flattrss_redirect&amp;id=593&amp;md5=121443e91e3b5709a482d28fc7af8ba9" type="text/html" />"
	</item>
		<item>
		<title>Arbeiten mit VIM: Befehle aufzeichnen und abspielen (Recording)</title>
		<link>http://emanuelduss.ch/2011/10/arbeiten-mit-vim-befehle-aufzeichnen-und-abspielen-recording/</link>
		<comments>http://emanuelduss.ch/2011/10/arbeiten-mit-vim-befehle-aufzeichnen-und-abspielen-recording/#comments</comments>
		<pubDate>Mon, 10 Oct 2011 17:01:41 +0000</pubDate>
		<dc:creator>Emanuel Duss</dc:creator>
				<category><![CDATA[VIM]]></category>
		<category><![CDATA[Editor]]></category>
		<category><![CDATA[konsole]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://emanuelduss.ch/?p=559</guid>
		<description><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://emanuelduss.ch/2011/10/arbeiten-mit-vim-befehle-aufzeichnen-und-abspielen-recording/&amp;text=Arbeiten mit VIM: Befehle aufzeichnen und abspielen (Recording)&amp;via=mindfuckup&amp;related=DolcePixel"><img align="right" src="http://emanuelduss.ch/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
In VIM kann man Tastatureingaben aufzeichnen und später wieder abspielen. So kann man Abläufe, welche man in einer Datei mehrmals durchführen muss, schnell und einfach automatisieren. Damit kann man sich Arbeiten sehr erleichtern! Syntax qx: Beginnt eine neue Aufnahme und speichert diese ins Register x q: Beendet die aktuelle Aufnahme @x: Führt die Befehle vom [...]]]></description>
			<content:encoded><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://emanuelduss.ch/2011/10/arbeiten-mit-vim-befehle-aufzeichnen-und-abspielen-recording/&amp;text=Arbeiten mit VIM: Befehle aufzeichnen und abspielen (Recording)&amp;via=mindfuckup&amp;related=DolcePixel"><img align="right" src="http://emanuelduss.ch/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
<p>In VIM kann man Tastatureingaben aufzeichnen und später wieder abspielen. So kann man Abläufe, welche man in einer Datei mehrmals durchführen muss, schnell und einfach automatisieren. Damit kann man sich Arbeiten sehr erleichtern!</p>
<p><span id="more-559"></span></p>
<h2>Syntax</h2>
<ul>
<li><em>qx</em>: Beginnt eine neue Aufnahme und speichert diese ins Register <em>x</em></li>
<li><em>q</em>: Beendet die aktuelle Aufnahme</li>
<li><em>@x</em>: Führt die Befehle vom Register <em>x</em> aus</li>
<li><em>@@</em>: Führt die Befehle vom zuletzt ausgeführten Register aus</li>
</ul>
<p>Dabei steht <em>x</em> für den Registernamen, welcher die Werte [0-9a-z] haben darf.</p>
<h2>Beispiel</h2>
<p>Wir haben folgende zwei Zeilen in VIM, welche wir unterstreichen möchten:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Das ist ein Titel<br />
<br />
Das ist auch ein Titel</div></div>
<p>Der erste Titel wird jetzt unterstrichen, wobei wir gleichzeitig die Befehle in das Register <em>a</em> speichern.</p>
<ul>
<li><em>qa</em>: Neue Aufnahme starten und in Register <em>a</em> speichern</li>
<li><em>Yp</em>: Zeile kopieren und darunter einfügen</li>
<li><em>Vr-</em>: Alle Zeichen der Zeile markieren und durch <em>-</em> ersetzen</li>
<li><em>o<ESC></em>: Neue Zeile unterhalb einfügen und in Normal-Mode wechseln</li>
<li><em>q</em>: Aufnahme beenden</li>
</ul>
<p>Das erzeugt folgendes Ergebnis:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Das ist ein Titel<br />
-----------------<br />
<br />
Das ist auch ein Titel</div></div>
<p>Jetzt kann man auf den zweiten Titel springen und mit <em>@a</em> die aufgenommenen Sequenzen abspielen. Das Ergebnis sieht danach so aus:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Das ist ein Titel<br />
-----------------<br />
<br />
Das ist auch ein Titel<br />
----------------------</div></div>
<p>Falls man noch weitere Titel unterstreichen will, wiederholt man die zuletzt abgespielte  Aufnahme mit <em>@@</em>.</p>
<h2>Weitere Informationen</h2>
<ul>
<li>VIM-Hilfe: <em>:help recording</em></li>
</ul>
 <p><a href="http://emanuelduss.ch/?flattrss_redirect&amp;id=559&amp;md5=c8bd162dbd50361c97b472ff6364f803" title="Flattr" target="_blank"><img src="http://emanuelduss.ch/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://emanuelduss.ch/2011/10/arbeiten-mit-vim-befehle-aufzeichnen-und-abspielen-recording/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="http://emanuelduss.ch/?flattrss_redirect&amp;id=559&amp;md5=c8bd162dbd50361c97b472ff6364f803" type="text/html" />"
	</item>
		<item>
		<title>Meine Konfigurationsdatei für VIM (.vimrc)</title>
		<link>http://emanuelduss.ch/2011/04/meine-konfigurationsdatei-fur-vim-vimrc/</link>
		<comments>http://emanuelduss.ch/2011/04/meine-konfigurationsdatei-fur-vim-vimrc/#comments</comments>
		<pubDate>Sat, 09 Apr 2011 18:03:07 +0000</pubDate>
		<dc:creator>Emanuel Duss</dc:creator>
				<category><![CDATA[Konfigurationsdateien]]></category>
		<category><![CDATA[VIM]]></category>
		<category><![CDATA[Editor]]></category>
		<category><![CDATA[Konfigurationsdatei]]></category>
		<category><![CDATA[konsole]]></category>
		<category><![CDATA[vi]]></category>

		<guid isPermaLink="false">http://emanuelduss.ch/?p=89</guid>
		<description><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://emanuelduss.ch/2011/04/meine-konfigurationsdatei-fur-vim-vimrc/&amp;text=Meine Konfigurationsdatei für VIM (.vimrc)&amp;via=mindfuckup&amp;related=DolcePixel"><img align="right" src="http://emanuelduss.ch/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
Der Texteditor VIM kann mit der Datei ~/.vimrc konfiguriert werden. Alle Befehle in dieser Datei werden beim Start ausgeführt. Dies ist meine Konfigurationsdatei für VIM: &#34;####################################################################### &#34; &#34; ~/.vimrc &#34; vim Konfigurationsdatei &#34; &#34; Copyright 2011 Emanuel Duss &#34; Licensed under GNU General Public License &#34; &#34; 2010-06-19; Emanuel Duss; Erste Version &#34; 2011-02-08; Emanuel [...]]]></description>
			<content:encoded><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://emanuelduss.ch/2011/04/meine-konfigurationsdatei-fur-vim-vimrc/&amp;text=Meine Konfigurationsdatei für VIM (.vimrc)&amp;via=mindfuckup&amp;related=DolcePixel"><img align="right" src="http://emanuelduss.ch/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
<p>Der Texteditor VIM kann mit der Datei <em>~/.vimrc</em> konfiguriert werden. Alle Befehle in dieser Datei werden beim Start ausgeführt.<br />
<span id="more-89"></span></p>
<p>Dies ist meine Konfigurationsdatei für VIM:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&quot;#######################################################################<br />
&quot;<br />
&quot; ~/.vimrc<br />
&quot; vim Konfigurationsdatei<br />
&quot;<br />
&quot; Copyright 2011 Emanuel Duss<br />
&quot; Licensed under GNU General Public License<br />
&quot;<br />
&quot; 2010-06-19; Emanuel Duss; Erste Version<br />
&quot; 2011-02-08; Emanuel Duss; Neu: set list; set listchars<br />
&quot; 2011-02-14; Emanuel Duss; Neu: endocing=utf8<br />
&quot;<br />
&quot;#######################################################################<br />
<br />
&quot;#######################################################################<br />
&quot; Einstellungen<br />
set nocompatible &nbsp; &quot; VIM-Zusätze aktivieren<br />
set encoding=utf8 &nbsp;&quot; UTF8 als Zeichensatz<br />
set mouse=a &nbsp; &nbsp; &nbsp; &nbsp;&quot; Mausunterstüzung aktivieren<br />
set number &nbsp; &nbsp; &nbsp; &nbsp; &quot; Zeilennummern angeben<br />
set incsearch &nbsp; &nbsp; &nbsp;&quot; Zeigt Suchergebnisse während dem Suchen an<br />
set hlsearch &nbsp; &nbsp; &nbsp; &quot; Suchresultate farbig hervorheben<br />
set ignorecase &nbsp; &nbsp; &quot; Ignoriert Gross/Kleinschreibung beim Suchen<br />
set smartcase &nbsp; &nbsp; &nbsp;&quot; Nur Gross/Kleinschreibung beachten, wenn Grossbuchstabe vorhanden<br />
set autoread &nbsp; &nbsp; &nbsp; &quot; Liest die Datei neu, wenn ausserhalb von VIM geändert.<br />
set backup &nbsp; &nbsp; &nbsp; &nbsp; &quot; Erstellt eine Backup-Datei<br />
set tabstop=2 &nbsp; &nbsp; &nbsp;&quot; Tabulator entspricht 2 Leerzeichen<br />
set softtabstop=2 &nbsp;&quot; Weicher Tabulator<br />
set shiftwidth=2 &nbsp; &quot; Einrücktiefe<br />
set autoindent &nbsp; &nbsp; &quot; Automatisch einrücken<br />
set expandtab &nbsp; &nbsp; &nbsp;&quot; Tabulatoren in Spaces umwandeln<br />
set wrap &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot; Zeilenumbruch aktivieren<br />
set list &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot; listchars anzeigen<br />
set listchars=tab:»·,trail:· &quot; Tabs und Leerzeichen am Zeilenende anzeigen<br />
<br />
colorscheme default &nbsp;&quot; Farbschema<br />
&quot; colorscheme desert &nbsp;&quot; Farbschema<br />
<br />
syntax on &nbsp; &nbsp; &nbsp; &nbsp; &quot; Code farbig darstellen<br />
<br />
&quot;#######################################################################<br />
&quot; Makros<br />
map &lt;F12&gt; :w!&lt;CR&gt;:!aspell --lang=de check %&lt;CR&gt;:e! %&lt;CR&gt;<br />
map &lt;F5&gt; :w! &lt;CR&gt;:! pdflatex % &lt;CR&gt;<br />
<br />
map &lt;leader&gt;hex :%!xxd&lt;CR&gt; &nbsp; &nbsp; &nbsp; &nbsp;&quot; Hexeditor mit \hex starten<br />
map &lt;leader&gt;nhex :%!xxd -r&lt;CR&gt; &nbsp; &nbsp;&quot; Hexeditor mit \nhex beenden<br />
<br />
map &lt;F2&gt; i########################################################################&lt;CR&gt;&lt;ESC&gt;<br />
map &lt;F3&gt; :r!date +\%Y-\%m-\%d&lt;CR&gt;<br />
map &lt;F4&gt; :r!date +\%Y-\%m-\%d_\%H-\%M-\%S&lt;CR&gt;<br />
<br />
&quot; EOF</div></div>
<p>Anregungen, Kritik und Fragen können gerne in den Kommentaren hinterlassen werden.</p>
 <p><a href="http://emanuelduss.ch/?flattrss_redirect&amp;id=89&amp;md5=ba281bbee1819a4e2b03376329fcf079" title="Flattr" target="_blank"><img src="http://emanuelduss.ch/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://emanuelduss.ch/2011/04/meine-konfigurationsdatei-fur-vim-vimrc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="http://emanuelduss.ch/?flattrss_redirect&amp;id=89&amp;md5=ba281bbee1819a4e2b03376329fcf079" type="text/html" />"
	</item>
		<item>
		<title>Wikipedia-Einträge über DNS abfragen</title>
		<link>http://emanuelduss.ch/2011/02/wikipedia-eintrage-abfragen/</link>
		<comments>http://emanuelduss.ch/2011/02/wikipedia-eintrage-abfragen/#comments</comments>
		<pubDate>Mon, 14 Feb 2011 20:31:22 +0000</pubDate>
		<dc:creator>Emanuel Duss</dc:creator>
				<category><![CDATA[Konsolentricks]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[konsole]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://emanuelduss.ch/?p=113</guid>
		<description><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://emanuelduss.ch/2011/02/wikipedia-eintrage-abfragen/&amp;text=Wikipedia-Einträge über DNS abfragen&amp;via=mindfuckup&amp;related=DolcePixel"><img align="right" src="http://emanuelduss.ch/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
Die Online-Enzyklopädie Wikipedia kann über DNS abgefragt werden. Toll daran ist, dass man somit jederzeit die Definition von einem Begriff aus der Shell heraus per DNS abfragen kann. Technik Der DNS-Server wp.dg.cx stellt über TXT-Ressource-Records den ersten Absatz von den englischen Wikipedia-Artikeln zur Verfügung. Der DNS-Server kann mit nslookup oder dig abgefragt werden. Abfrage Ich [...]]]></description>
			<content:encoded><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://emanuelduss.ch/2011/02/wikipedia-eintrage-abfragen/&amp;text=Wikipedia-Einträge über DNS abfragen&amp;via=mindfuckup&amp;related=DolcePixel"><img align="right" src="http://emanuelduss.ch/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
<p>Die Online-Enzyklopädie Wikipedia kann über DNS abgefragt werden. Toll daran ist, dass man somit jederzeit die Definition von einem Begriff aus der Shell heraus per DNS abfragen kann.<br />
<span id="more-113"></span><br />
<strong>Technik</strong><br />
Der DNS-Server <em>wp.dg.cx</em> stellt über TXT-Ressource-Records den ersten Absatz von den englischen Wikipedia-Artikeln zur Verfügung. Der DNS-Server kann mit <em>nslookup</em> oder <em>dig</em> abgefragt werden.</p>
<p><strong>Abfrage</strong><br />
Ich möchte die Definition von <em>Foo</em> wissen. Der DNS-Query sieht folgendermassen aus:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">emanuel@discordia:~<br />
$ dig foo.wp.dg.cx TXT<br />
;; Truncated, retrying in TCP mode.<br />
<br />
; &lt;&lt;&gt;&gt; DiG 9.7.2-P3 &lt;&lt;&gt;&gt; txt foo.wp.dg.cx<br />
;; global options: +cmd<br />
;; Got answer:<br />
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 7560<br />
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 1<br />
<br />
;; QUESTION SECTION:<br />
;foo.wp.dg.cx. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IN &nbsp; &nbsp; &nbsp;TXT<br />
<br />
;; ANSWER SECTION:<br />
foo.wp.dg.cx. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 86400 &nbsp; IN &nbsp; &nbsp; &nbsp;TXT &nbsp; &nbsp; &quot;The term foobar, <br />
along with foo, bar, and baz, is a common placeholder name <br />
(also referred to as a metasyntactic variable) used in computer <br />
programming or computer-related documentation. These four <br />
terms are used heavily in computer science to take the pl&quot; &quot;ace <br />
of unknown values, typically while describing a scenario where <br />
the purpose of the unknown values are understood, but... <br />
http://a.vu/w:Foobar&quot;<br />
<br />
;; AUTHORITY SECTION:<br />
. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 78741 &nbsp; IN &nbsp; &nbsp; &nbsp;NS &nbsp; &nbsp; &nbsp;g.root-servers.net.<br />
. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 78741 &nbsp; IN &nbsp; &nbsp; &nbsp;NS &nbsp; &nbsp; &nbsp;f.root-servers.net.<br />
. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 78741 &nbsp; IN &nbsp; &nbsp; &nbsp;NS &nbsp; &nbsp; &nbsp;h.root-servers.net.<br />
. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 78741 &nbsp; IN &nbsp; &nbsp; &nbsp;NS &nbsp; &nbsp; &nbsp;e.root-servers.net.<br />
. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 78741 &nbsp; IN &nbsp; &nbsp; &nbsp;NS &nbsp; &nbsp; &nbsp;k.root-servers.net.<br />
. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 78741 &nbsp; IN &nbsp; &nbsp; &nbsp;NS &nbsp; &nbsp; &nbsp;l.root-servers.net.<br />
. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 78741 &nbsp; IN &nbsp; &nbsp; &nbsp;NS &nbsp; &nbsp; &nbsp;j.root-servers.net.<br />
. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 78741 &nbsp; IN &nbsp; &nbsp; &nbsp;NS &nbsp; &nbsp; &nbsp;c.root-servers.net.<br />
. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 78741 &nbsp; IN &nbsp; &nbsp; &nbsp;NS &nbsp; &nbsp; &nbsp;a.root-servers.net.<br />
. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 78741 &nbsp; IN &nbsp; &nbsp; &nbsp;NS &nbsp; &nbsp; &nbsp;m.root-servers.net.<br />
. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 78741 &nbsp; IN &nbsp; &nbsp; &nbsp;NS &nbsp; &nbsp; &nbsp;i.root-servers.net.<br />
. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 78741 &nbsp; IN &nbsp; &nbsp; &nbsp;NS &nbsp; &nbsp; &nbsp;b.root-servers.net.<br />
. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 78741 &nbsp; IN &nbsp; &nbsp; &nbsp;NS &nbsp; &nbsp; &nbsp;d.root-servers.net.<br />
<br />
;; ADDITIONAL SECTION:<br />
a.root-servers.net. &nbsp; &nbsp; 79004 &nbsp; IN &nbsp; &nbsp; &nbsp;A &nbsp; &nbsp; &nbsp; 198.41.0.4<br />
<br />
;; Query time: 5 msec<br />
;; SERVER: 10.0.0.10#53(10.0.0.10)<br />
;; WHEN: Mon Feb 14 21:11:04 2011<br />
;; MSG SIZE &nbsp;rcvd: 670</div></div>
<p>In der Answer-Section steht die Erklärung von Foo.</p>
<p><strong>Darstellung</strong><br />
Um nur die nötigen Informationen von <em>dig</em> zu erhalten, verwendet man die Option <em>+short</em>:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">emanuel@discordia:~<br />
$ dig +noall +short foo.wp.dg.cx TXT<br />
;; Truncated, retrying in TCP mode.<br />
&quot;The term foobar, along with foo, bar, and baz, is a common <br />
placeholder name (also referred to as a metasyntactic variable)<br />
used in computer programming or computer-related documentation.<br />
These four terms are used heavily in computer science to take the<br />
pl&quot; &quot;ace of unknown values, typically while describing a scenario <br />
where the purpose of the unknown values are understood, but... <br />
http://a.vu/w:Foobar&quot;</div></div>
<p>Um die erste Zeile zu entfernen, hilft die Option <em>+ignore</em>:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">emanuel@discordia:~<br />
$ dig +ignore +short foo.wp.dg.cx TXT<br />
&quot;The term foobar, along with foo, bar, and baz, is a common <br />
placeholder name (also referred to as a metasyntactic variable)<br />
used in computer programming or computer-related documentation.<br />
These four terms are used heavily in computer science to take the<br />
pl&quot; &quot;ace of unknown values, typically while describing a scenario <br />
where the purpose of the unknown values are understood, but... <br />
http://a.vu/w:Foobar&quot;</div></div>
<p>So ist die Ausgabe angenehmer zu lesen.</p>
<p><strong>Automatisieren</strong><br />
Ich habe mir folgende Funkton in die Datei <em>~/.bashrc</em> geschrieben, damit ich Wikipedia schnell aus der Konsole heraus abfragen kann:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">wiki<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">&quot;$1&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">then</span><br />
&nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">dig</span> +ignore +short <span style="color: #007800;">$1</span>.wp.dg.cx TXT<br />
&nbsp; <span style="color: #000000; font-weight: bold;">else</span><br />
&nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">echo</span> Bitte einen Begriff angeben.<br />
&nbsp; <span style="color: #000000; font-weight: bold;">fi</span><br />
<span style="color: #7a0874; font-weight: bold;">&#125;</span></div></div>
<p>Wenn man eine neue Bash startet, wird diese Funktion geladen und sie kann verwendet werden:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">emanuel@discordia:~<br />
$ wiki foo<br />
&quot;The term foobar, along with foo, bar, and baz, is a common <br />
placeholder name (also referred to as a metasyntactic variable)<br />
used in computer programming or computer-related documentation.<br />
These four terms are used heavily in computer science to take the<br />
pl&quot; &quot;ace of unknown values, typically while describing a scenario <br />
where the purpose of the unknown values are understood, but... <br />
http://a.vu/w:Foobar&quot;</div></div>
<p>Das ist doch praktisch!</p>
 <p><a href="http://emanuelduss.ch/?flattrss_redirect&amp;id=113&amp;md5=a50124d27e134e01236bd829ef49499a" title="Flattr" target="_blank"><img src="http://emanuelduss.ch/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://emanuelduss.ch/2011/02/wikipedia-eintrage-abfragen/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<atom:link rel="payment" href="http://emanuelduss.ch/?flattrss_redirect&amp;id=113&amp;md5=a50124d27e134e01236bd829ef49499a" type="text/html" />"
	</item>
		<item>
		<title>Fotos nach Datum umbenennen mit jhead</title>
		<link>http://emanuelduss.ch/2011/02/fotos-umbenennen-mit-jhead/</link>
		<comments>http://emanuelduss.ch/2011/02/fotos-umbenennen-mit-jhead/#comments</comments>
		<pubDate>Sun, 06 Feb 2011 17:10:55 +0000</pubDate>
		<dc:creator>Emanuel Duss</dc:creator>
				<category><![CDATA[Multimedia]]></category>
		<category><![CDATA[Skripts]]></category>
		<category><![CDATA[fotos]]></category>
		<category><![CDATA[jhead]]></category>
		<category><![CDATA[konsole]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://emanuelduss.ch/?p=316</guid>
		<description><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://emanuelduss.ch/2011/02/fotos-umbenennen-mit-jhead/&amp;text=Fotos nach Datum umbenennen mit jhead&amp;via=mindfuckup&amp;related=DolcePixel"><img align="right" src="http://emanuelduss.ch/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
Digitalkameras speichern Bilder oft unter Dateinamen wie DSC00523.jpg. Mit diesen nicht sprechenden Namen kann ich nicht viel anfangen. Das Datum und die Uhrzeit des Fotos ist für den Dateinamen viel besser geeignet. EXIF-Daten auslesen Die Digitalkamera speichert das Datum und die Uhrzeit in den so genannten EXIF-Tags. Mit jhead kann man diese Tags auslesen und [...]]]></description>
			<content:encoded><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://emanuelduss.ch/2011/02/fotos-umbenennen-mit-jhead/&amp;text=Fotos nach Datum umbenennen mit jhead&amp;via=mindfuckup&amp;related=DolcePixel"><img align="right" src="http://emanuelduss.ch/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
<p>Digitalkameras speichern Bilder oft unter Dateinamen wie DSC00523.jpg. Mit diesen nicht sprechenden Namen kann ich nicht viel anfangen. Das Datum und die Uhrzeit des Fotos ist für den Dateinamen viel besser geeignet.<br />
<span id="more-316"></span></p>
<p><strong>EXIF-Daten auslesen</strong><br />
Die Digitalkamera speichert das Datum und die Uhrzeit in den so genannten EXIF-Tags. Mit jhead kann man diese Tags auslesen und bearbeiten.</p>
<p>Mit <em>jhead dateiname.jpg</em> kann man sich die EXIF-Tags anzeigen lassen:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">emanuel@discordia:~<br />
$ jhead DSC00523.JPG<br />
File name &nbsp; &nbsp;: DSC00523.JPG<br />
File size &nbsp; &nbsp;: 2277972 bytes<br />
File date &nbsp; &nbsp;: 2011:02:06 13:45:34<br />
Camera make &nbsp;: Canon<br />
Camera model : Canon DIGITAL IXUS 80 IS<br />
Date/Time &nbsp; &nbsp;: 2010:12:27 12:02:37<br />
Resolution &nbsp; : 2592 x 1944<br />
Flash used &nbsp; : No<br />
Focal length : 14.3mm &nbsp;(35mm equivalent: 90mm)<br />
CCD width &nbsp; &nbsp;: 5.72mm<br />
Exposure time: 0.020 s &nbsp;(1/50)<br />
Aperture &nbsp; &nbsp; : f/4.5<br />
Focus dist. &nbsp;: 6.57m<br />
ISO equiv. &nbsp; : 800<br />
Whitebalance : Auto<br />
Metering Mode: pattern</div></div>
<p>In der Zeile <em>Date/Time</em> sieht man, dass das Foto am 27.12.2010 um 12:02:37h erstellt wurde.</p>
<p><strong>Datei umbenennen</strong><br />
Mit <em>jhead</em> kann man nun das Foto nach dem Muster YYYY-mm-dd-HH-MM-SS umbenennen. Dies geschieht mit der Option <em>-nf</em> von <em>jhead</em>.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">emanuel@discordia:~<br />
$ jhead -nf%Y-%m-%d_%H-%M-%S DSC00523.JPG<br />
DSC00523.JPG --&gt; 2010-12-27_12-02-37.jpg</div></div>
<p>Kann das Erstellungsdatum und die Erstelungsuhrzeit nicht aus den EXIF-Daten herausgelesen werden, wird der Zeitstempel der Datei verwendet.</p>
<p>In der Manpage von <em>jhead</em> sieht man, wie sich der Format-String zusammensetzen lässt:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">%H Hour in 24-hour format (00 - 23)<br />
%j Day of year as decimal number (001 - 366)<br />
%m Month as decimal number (01 - 12)<br />
%M Minute as decimal number (00 - 59)<br />
%S Second as decimal number (00 - 59)<br />
%w Weekday as decimal number (0 - 6; Sunday is 0)<br />
%y Year without century, as decimal number (00 - 99)<br />
%Y Year with century, as decimal number</div></div>
<p><strong>Alle Fotos in einem Ordner umbenennen</strong><br />
Mit dem regulären Ausdruck <em>*.[jJ][pP][gG]</em> benennt <em>jhead</em> alle Fotos in einem Ordner um:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">emanuel@discordia:~<br />
$ jhead -nf%Y-%m-%d_%H-%M-%S *.[jJ][pP][gG]</div></div>
<p><strong>Alle Fotos umbenennen</strong><br />
Mit <em>find</em> kann man die gesamte Bildersammlung auf einmal umbenenen:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">emanuel@discordia:~<br />
$ find Daten/Bilder -iname *.jpg -exec jhead -nf%Y-%m-%d_%H-%M-%S {} \;</div></div>
<p>Im Ordner <em>Daten/Bilder</em> sind alle Fotos gespeichert, welche umbenannt werden.</p>
<p><strong>Automatisieren</strong><br />
Damit man nicht jedes mal den Befehl von <em>jhead</em> eingeben muss, kann man sich ein Skript schreiben:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">#!/bin/bash</span><br />
<span style="color: #666666; font-style: italic;">########################################################################</span><br />
<span style="color: #666666; font-style: italic;">#</span><br />
<span style="color: #666666; font-style: italic;"># imagerename</span><br />
<span style="color: #666666; font-style: italic;"># Fotos nach Datum umbenennen</span><br />
<span style="color: #666666; font-style: italic;">#</span><br />
<span style="color: #666666; font-style: italic;"># 2009-01-01; Emanuel Duss; Erste Version</span><br />
<span style="color: #666666; font-style: italic;">#</span><br />
<span style="color: #666666; font-style: italic;">########################################################################</span><br />
<br />
<span style="color: #666666; font-style: italic;">########################################################################</span><br />
<span style="color: #666666; font-style: italic;"># Main</span><br />
jhead -nf<span style="color: #000000; font-weight: bold;">%</span>Y-<span style="color: #000000; font-weight: bold;">%</span>m-<span style="color: #000000; font-weight: bold;">%</span>d_<span style="color: #000000; font-weight: bold;">%</span>H-<span style="color: #000000; font-weight: bold;">%</span>M-<span style="color: #000000; font-weight: bold;">%</span>S <span style="color: #000000; font-weight: bold;">*</span>.<span style="color: #7a0874; font-weight: bold;">&#91;</span>jJ<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span>pP<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span>gG<span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
<br />
<span style="color: #666666; font-style: italic;"># EOF</span></div></div>
<p>Ist dieses Skript ausführbar unter dem Dateinamen <em>imagerename</em> gespeichert und durch die Variable <em>$PATH</em> auffindbar, kann man in jedem Verzeichnis durch den Aufruf von <em>imagerename</em> alle Bilder im aktuellen Verzeichnis umbenennen.</p>
<p>Man kann sich aber auch einen Alias erstellen, welcher den Befehl ausführt. Folgende Zeile schreibt man sich in die Datei <em>~/.bashrc</em>:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">alias imagerename='jhead -nf%Y-%m-%d_%H-%M-%S *.[jJ][pP][gG]'</div></div>
<p>Auch jetzt kann man im jedem Verzeichnis durch <em>imagerename</em> alle Fotos umbenennen.</p>
 <p><a href="http://emanuelduss.ch/?flattrss_redirect&amp;id=316&amp;md5=29b8322486575385a1aa8642fc9b82e7" title="Flattr" target="_blank"><img src="http://emanuelduss.ch/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://emanuelduss.ch/2011/02/fotos-umbenennen-mit-jhead/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="http://emanuelduss.ch/?flattrss_redirect&amp;id=316&amp;md5=29b8322486575385a1aa8642fc9b82e7" type="text/html" />"
	</item>
		<item>
		<title>Manpages farbig darstellen</title>
		<link>http://emanuelduss.ch/2011/01/manpages-farbig-darstellen/</link>
		<comments>http://emanuelduss.ch/2011/01/manpages-farbig-darstellen/#comments</comments>
		<pubDate>Sun, 30 Jan 2011 18:38:27 +0000</pubDate>
		<dc:creator>Emanuel Duss</dc:creator>
				<category><![CDATA[Konfigurationsdateien]]></category>
		<category><![CDATA[Konfigurationsdatei]]></category>
		<category><![CDATA[konsole]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://emanuelduss.ch/?p=300</guid>
		<description><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://emanuelduss.ch/2011/01/manpages-farbig-darstellen/&amp;text=Manpages farbig darstellen&amp;via=mindfuckup&amp;related=DolcePixel"><img align="right" src="http://emanuelduss.ch/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
Ich mag es, wenn meine Konsole farbig dargestellt wird. So finde ich es auch praktisch, wenn bestimmte Schlüsselwörter in Manpages farbig hervorgehoben werden. Anleitung Mit folgenden Befehlen kann man den Pager less dazu bringen, die Ausgaben anders zu formatieren: export LESS_TERMCAP_us=$'\E[01;32m' &#160; &#160; &#160; # Beginn unterstrichen export LESS_TERMCAP_ue=$'\E[0m' &#160; &#160; &#160; &#160; &#160; # [...]]]></description>
			<content:encoded><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://emanuelduss.ch/2011/01/manpages-farbig-darstellen/&amp;text=Manpages farbig darstellen&amp;via=mindfuckup&amp;related=DolcePixel"><img align="right" src="http://emanuelduss.ch/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
<p>Ich mag es, wenn meine Konsole farbig dargestellt wird. So finde ich es auch praktisch, wenn bestimmte Schlüsselwörter in Manpages farbig hervorgehoben werden.<br />
<span id="more-300"></span><br />
<strong>Anleitung</strong><br />
Mit folgenden Befehlen kann man den Pager <em>less</em> dazu bringen, die Ausgaben anders zu formatieren:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">LESS_TERMCAP_us</span>=$<span style="color: #ff0000;">'\E[01;32m'</span> &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># Beginn unterstrichen</span><br />
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">LESS_TERMCAP_ue</span>=$<span style="color: #ff0000;">'\E[0m'</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># Ende unterstrichen</span><br />
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">LESS_TERMCAP_so</span>=$<span style="color: #ff0000;">'\E[01;44;33m'</span> &nbsp; &nbsp;<span style="color: #666666; font-style: italic;"># Beginn Standout-Mode</span><br />
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">LESS_TERMCAP_se</span>=$<span style="color: #ff0000;">'\E[0m'</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># Ende Standout-Mode</span><br />
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">LESS_TERMCAP_md</span>=$<span style="color: #ff0000;">'\E[01;31m'</span> &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># Start fett</span><br />
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">LESS_TERMCAP_mb</span>=$<span style="color: #ff0000;">'\E[01;31m'</span> &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># Start blinken</span><br />
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">LESS_TERMCAP_me</span>=$<span style="color: #ff0000;">'\E[0m'</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># Ende alles</span></div></div>
<p>Diese Befehle schreibt man sich in die Datei <em>~/.bashrc</em>, die automatisch bei jeder neuen Shell ausgeführt wird.<br />
Mehr Informationen über die Variabeln <em>LESS_TERMCAP_xx</em> findet man in der Manpage <em>termcap</em>. Die Farben werden über <a href="http://ascii-table.com/ansi-escape-sequences.php">ANSI-Escape-Codes</a> definiert.</p>
<p><strong>Beispiel</strong><br />
Hier ein Beispiel anhand der Manpage von <em>man</em>:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ man man</div></div>
<p><a href="http://emanuelduss.ch/wp-content/uploads/2011/01/man_color.png" rel="lightbox[300]"><img class="alignnone size-medium wp-image-302" title="man_color" src="http://emanuelduss.ch/wp-content/uploads/2011/01/man_color-300x177.png" alt="" width="300" height="177" /></a><br />
Der Text, der normalerweise fett dargestellt wird, ist jetzt rot, und der unterstrichene Text ist jetzt grün.</p>
<p><strong>Weitere Informationen</strong><br />
Gefunden habe ich diesen Tipp im Planeten von Arch Linux und stammt aus der Zsh-Konfiguration von Grml, welche unter der Lizenz GPL v2 veröffentlicht wurde.</p>
<ul>
<li><a href="http://ascii-table.com/ansi-escape-sequences.php">ANSI-Escape-Codes</a></li>
<li><a href="https://bbs.archlinux.de/viewforum.php?id=362">Planet Forum von Arch Linux</a></li>
<li><a href="https://bbs.archlinux.de/viewtopic.php?id=18216">Arch Linux Planet &#8220;Farbige Manages auf der Konsole&#8221;</a></li>
<li><a href="http://grml.org/">Grml.org</a></li>
<li><a href="http://git.grml.org/?p=grml-etc-core.git;a=blob;f=etc/zsh/zshrc;h=0b82cb3300004853a06774c1b50fb46b83d4eeea;hb=dc4eb5bb4a81c8dbe312bd0f79721fe3a3dd6af8">Zsh-Konfiguration von Grml</a></li>
</ul>
 <p><a href="http://emanuelduss.ch/?flattrss_redirect&amp;id=300&amp;md5=bc954d4e2a8a085cd133c1d894fb958a" title="Flattr" target="_blank"><img src="http://emanuelduss.ch/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://emanuelduss.ch/2011/01/manpages-farbig-darstellen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="http://emanuelduss.ch/?flattrss_redirect&amp;id=300&amp;md5=bc954d4e2a8a085cd133c1d894fb958a" type="text/html" />"
	</item>
		<item>
		<title>Fotos automatisch drehen mit jhead</title>
		<link>http://emanuelduss.ch/2011/01/fotos-automatisch-drehen-mit-jhead/</link>
		<comments>http://emanuelduss.ch/2011/01/fotos-automatisch-drehen-mit-jhead/#comments</comments>
		<pubDate>Sun, 16 Jan 2011 18:56:47 +0000</pubDate>
		<dc:creator>Emanuel Duss</dc:creator>
				<category><![CDATA[Konsolentricks]]></category>
		<category><![CDATA[Multimedia]]></category>
		<category><![CDATA[Skripts]]></category>
		<category><![CDATA[fotos]]></category>
		<category><![CDATA[jhead]]></category>
		<category><![CDATA[konsole]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://emanuelduss.ch/?p=75</guid>
		<description><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://emanuelduss.ch/2011/01/fotos-automatisch-drehen-mit-jhead/&amp;text=Fotos automatisch drehen mit jhead&amp;via=mindfuckup&amp;related=DolcePixel"><img align="right" src="http://emanuelduss.ch/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
Viele Digitalkameras verfügen über einen Gravitationssensor, der erkennt, wie die Kamera beim erstellen des Bildes gehalten wurde. Diese Information kann man dazu nutzen, um das Bild automatisch richtig zu drehen. Die Information wird im EXIF-Tag &#8220;Orientation&#8221; des Bildes gespeichert. Mit dem Tool jhead kann man diese Information auslesen und das Foto automatisch drehen lassen. EXIF-Daten [...]]]></description>
			<content:encoded><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://emanuelduss.ch/2011/01/fotos-automatisch-drehen-mit-jhead/&amp;text=Fotos automatisch drehen mit jhead&amp;via=mindfuckup&amp;related=DolcePixel"><img align="right" src="http://emanuelduss.ch/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
<p>Viele Digitalkameras verfügen über einen Gravitationssensor, der erkennt, wie die Kamera beim erstellen des Bildes gehalten wurde. Diese Information kann man dazu nutzen, um das Bild automatisch richtig zu drehen. Die Information wird im EXIF-Tag &#8220;Orientation&#8221; des Bildes gespeichert. Mit dem Tool <em>jhead</em> kann man diese Information auslesen und das Foto automatisch drehen lassen.<br />
<span id="more-75"></span><br />
<strong>EXIF-Daten</strong><br />
Wird <em>jhead</em> keine Option angegeben, werden einige EXIF-Informationen angezeigt:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ jhead foto.jpg <br />
File name &nbsp; &nbsp;: foto.jpg<br />
File size &nbsp; &nbsp;: 2040209 bytes<br />
File date &nbsp; &nbsp;: 2011:01:16 18:22:37<br />
Camera make &nbsp;: Canon<br />
Camera model : Canon DIGITAL IXUS 80 IS<br />
Date/Time &nbsp; &nbsp;: 2011:01:14 23:05:42<br />
Resolution &nbsp; : 2592 x 1944<br />
Orientation &nbsp;: rotate 90<br />
Flash used &nbsp; : Yes (auto)<br />
Focal length : &nbsp;6.2mm &nbsp;(35mm equivalent: 39mm)<br />
CCD width &nbsp; &nbsp;: 5.72mm<br />
Exposure time: 0.017 s &nbsp;(1/60)<br />
Aperture &nbsp; &nbsp; : f/2.8<br />
Focus dist. &nbsp;: 0.48m<br />
ISO equiv. &nbsp; : 250<br />
Whitebalance : Auto<br />
Metering Mode: pattern</div></div>
<p>Das Tag &#8220;Orientation&#8221; sagt, dass das Bild um 90° gedreht wurde. Aber jetzt weiss man immer noch nicht, ob das Bild im Uhrzeigersinn, oder im Gegenuhrzeigersinn gedreht werden muss.</p>
<p>Noch mehr Informationen kann man <em>jhead</em> mit der Option <em>-v</em> entlocken:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ jhead -v foto.jpg &nbsp;| grep -i orientation<br />
&nbsp; &nbsp; Orientation = 6<br />
Orientation &nbsp;: rotate 90</div></div>
<p>Das Orientation-Tag beseitzt den Wert 6. In den Spezifikationen von den EXIF-Tags steht folgendes dazu:</p>
<blockquote><p>The 0th row is the visual right-hand side of the image, and the 0th column is the visual top.</p></blockquote>
<p>Daraus lässt sich schliessen, dass das Bild um 90° im Uhrzeigersinn gedreht werden muss.</p>
<p><strong>Das Foto drehen</strong><br />
Mit der Option <em>-autorot</em> kann <em>jhead</em> das Foto automatisch drehen.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ jhead -autorot foto.jpg <br />
Modified: foto.jpg</div></div>
<p>Das eigentliche Rotieren übernimmt nicht <em>jhead</em>, sondern <em>jpegtran</em>.</p>
<p>Das Orientation-EXIF-Tag besitzt nun den Wert 1. Das Bild muss also nicht mehr gedreht werden.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ jhead -v foto.jpg &nbsp;| grep -i orient<br />
&nbsp; &nbsp; Orientation = 1</div></div>
<p><strong>Orientation-Tag entfernen</strong><br />
Möchte man ein Foto nicht rotieren, aber das Orientation-EXIF-Tag trotzdem entfernen, kann man das mit der Option <em>-norot</em> machen:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ jhead -norot anderesfoto.jpg</div></div>
<p><strong>Alle Fotos in einem Verzeichnis drehen </strong><br />
Meistens will ich alle Fotos in einem Verzeichnis richtig drehen. Das kann man folgendermassen machen:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ jhead -autorot *.[jJ][pP][gG]</div></div>
<p>Die Shell löst den regulären Ausdruck <em>*.[jJ][pP][gG]</em> auf, und übergibt alle passenden Dateinamen an <em>jhead</em> weiter.</p>
<p>Diesen Befehl habe ich in einem Skript, damit ich jederzeit jhead so aufrufen kann:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">#!/bin/bash<br />
################################################################<br />
#<br />
# imagerotate<br />
# Dreht Fotos anhand des EXIF-Tag Orientation<br />
#<br />
# 2011-01-16; Emanuel Duss; Erste Version<br />
#<br />
################################################################<br />
<br />
################################################################<br />
# Main<br />
jhead -autorot *.[jJ][pP][gG]<br />
<br />
# EOF</div></div>
<p>Natürlich kann man auch einen Alias in der <em>.bashrc</em> eintragen:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">alias imagerotate=&quot;jhead -autorot *.[jJ][pP][gG]&quot;</div></div>
<p><strong>Alle Fotos drehen</strong><br />
Folgendermassen kann man alle Bilder, welche sich im Ordner &#8220;~/Bilder&#8221; befinden automatisch drehen:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ find ~/Bilder -type f -name *.[jJ][pP][gG] -exec jhead -autorot {} \;</div></div>
<p>Somit ist die gesamte Bildersammlung richtig gedreht.</p>
<p><strong>Links und weitere Informationen</strong></p>
<ul>
<li>EXIF Spezifikationen: <a href="http://www.exif.org/specifications.html" target="_blank">http://www.exif.org/specifications.html</a></li>
<li>Projektseite von <em>jhead</em>: <a href="http://www.sentex.net/~mwandel/jhead/" target="_blank">http://www.sentex.net/~mwandel/jhead/</a>
</ul>
 <p><a href="http://emanuelduss.ch/?flattrss_redirect&amp;id=75&amp;md5=01e5816a7835457288759531f3305806" title="Flattr" target="_blank"><img src="http://emanuelduss.ch/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://emanuelduss.ch/2011/01/fotos-automatisch-drehen-mit-jhead/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="http://emanuelduss.ch/?flattrss_redirect&amp;id=75&amp;md5=01e5816a7835457288759531f3305806" type="text/html" />"
	</item>
		<item>
		<title>Screenshots erstellen mit scrot</title>
		<link>http://emanuelduss.ch/2011/01/screenshots-erstellen-mit-scrot/</link>
		<comments>http://emanuelduss.ch/2011/01/screenshots-erstellen-mit-scrot/#comments</comments>
		<pubDate>Sun, 02 Jan 2011 13:04:54 +0000</pubDate>
		<dc:creator>Emanuel Duss</dc:creator>
				<category><![CDATA[Skripts]]></category>
		<category><![CDATA[konsole]]></category>
		<category><![CDATA[screenshot]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[scrot]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://emanuelduss.ch/?p=82</guid>
		<description><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://emanuelduss.ch/2011/01/screenshots-erstellen-mit-scrot/&amp;text=Screenshots erstellen mit scrot&amp;via=mindfuckup&amp;related=DolcePixel"><img align="right" src="http://emanuelduss.ch/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
Es gibt viele Wege, wie man einen Screenshot erstellen kann. Für diese Aufgabe verwende ich scrot. Wenn ich vom ganzen Desktop einen Screenshot machen will, starte ich scrot direkt aus der Shell: emanuel@discordia:~ $ scrot screenshot.png Nach dem Ausführen von diesem Befehl befindet sich der Screenshot mit dem Dateinamen screenshot.png im aktuellen Verzeichnis. Oft will [...]]]></description>
			<content:encoded><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://emanuelduss.ch/2011/01/screenshots-erstellen-mit-scrot/&amp;text=Screenshots erstellen mit scrot&amp;via=mindfuckup&amp;related=DolcePixel"><img align="right" src="http://emanuelduss.ch/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
<p>Es gibt viele Wege, wie man einen Screenshot erstellen kann. Für diese Aufgabe verwende ich <em>scrot</em>.<br />
<span id="more-82"></span><br />
Wenn ich vom ganzen Desktop einen Screenshot machen will, starte ich <em>scrot</em> direkt aus der Shell:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">emanuel<span style="color: #000000; font-weight: bold;">@</span>discordia:~<br />
$ scrot screenshot.png</div></div>
<p>Nach dem Ausführen von diesem Befehl befindet sich der Screenshot mit dem Dateinamen <em>screenshot.png</em> im aktuellen Verzeichnis.</p>
<p>Oft will ich mit einem Screenshot nur einen Ausschnitt von meinem Desktop dokumentieren. Für diesen Zweck kann man folgenden Befehl in der Shell ausführen:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">emanuel@discordia:~<br />
$ scrot -s screenshot.png</div></div>
<p>Nach dem Ausführen von diesem Befehl kann man mit der Maus einen Bereich auf dem Desktop markieren. Der ausgewählte Bereich wird in der Datei <em>screenshot.png</em> gespeichert.</p>
<p>Um das ganze zu automatisieren und noch etwas praktischer zu machen, habe ich mir folgendes Skript geschrieben:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">#!/bin/bash</span><br />
<span style="color: #666666; font-style: italic;">########################################################################</span><br />
<span style="color: #666666; font-style: italic;">#</span><br />
<span style="color: #666666; font-style: italic;"># screenshot</span><br />
<span style="color: #666666; font-style: italic;"># Erstellt Screenshots</span><br />
<span style="color: #666666; font-style: italic;">#</span><br />
<span style="color: #666666; font-style: italic;"># Copyright 2011 Emanuel Duss</span><br />
<span style="color: #666666; font-style: italic;"># Licensed under GNU General Public License</span><br />
<span style="color: #666666; font-style: italic;">#</span><br />
<span style="color: #666666; font-style: italic;"># 2009-12-07; Emanuel Duss; Erstellt und erste Version</span><br />
<span style="color: #666666; font-style: italic;"># 2010-08-22; Emanuel Duss; Mirage statt eog als Viewer</span><br />
<span style="color: #666666; font-style: italic;"># 2011-01-01; Emanuel Duss; Feh statt Mirage als Viewer</span><br />
<span style="color: #666666; font-style: italic;">#</span><br />
<span style="color: #666666; font-style: italic;">########################################################################</span><br />
<br />
<span style="color: #666666; font-style: italic;">########################################################################</span><br />
<span style="color: #666666; font-style: italic;"># Variabeln</span><br />
<span style="color: #007800;">FOLDER</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">$HOME</span>/Daten/Screenshots&quot;</span><br />
<span style="color: #007800;">APP</span>=<span style="color: #ff0000;">&quot;feh --borderless --scale-down --image-bg black&quot;</span><br />
<br />
<span style="color: #666666; font-style: italic;">########################################################################</span><br />
<span style="color: #666666; font-style: italic;"># Main</span><br />
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #660033;">-d</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$FOLDER</span>&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
<span style="color: #000000; font-weight: bold;">then</span><br />
&nbsp; <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #007800;">$FOLDER</span><br />
<span style="color: #000000; font-weight: bold;">else</span><br />
&nbsp; scrot <span style="color: #660033;">-s</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$APP</span> <span style="color: #000099; font-weight: bold;">\$</span>f&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$FOLDER</span>/%Y-%m-%d_%k-%M-%S.png&quot;</span><br />
<span style="color: #000000; font-weight: bold;">fi</span><br />
<br />
<span style="color: #666666; font-style: italic;"># EOF</span></div></div>
<p>Nach dem Starten vom Skript muss man einen Bereich auf dem Desktop markieren. Der Screenshot wird in meinem Screenshot-Verzeichnis mit einem passenden Namen (Datum und Uhrzeit) abgespeichert und dann direkt mit meinem Bildanzeiger geöffnet.</p>
 <p><a href="http://emanuelduss.ch/?flattrss_redirect&amp;id=82&amp;md5=e22a2e64b4ae11adfa93c2fdf7506283" title="Flattr" target="_blank"><img src="http://emanuelduss.ch/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://emanuelduss.ch/2011/01/screenshots-erstellen-mit-scrot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="http://emanuelduss.ch/?flattrss_redirect&amp;id=82&amp;md5=e22a2e64b4ae11adfa93c2fdf7506283" type="text/html" />"
	</item>
		<item>
		<title>Bilder verkleinern mit convert (imagemagick)</title>
		<link>http://emanuelduss.ch/2010/12/bilder-verkleinern-mit-convert-imagemagick/</link>
		<comments>http://emanuelduss.ch/2010/12/bilder-verkleinern-mit-convert-imagemagick/#comments</comments>
		<pubDate>Sun, 12 Dec 2010 16:55:04 +0000</pubDate>
		<dc:creator>Emanuel Duss</dc:creator>
				<category><![CDATA[Multimedia]]></category>
		<category><![CDATA[Skripts]]></category>
		<category><![CDATA[convert]]></category>
		<category><![CDATA[fotos]]></category>
		<category><![CDATA[konsole]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://emanuelduss.ch/?p=98</guid>
		<description><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://emanuelduss.ch/2010/12/bilder-verkleinern-mit-convert-imagemagick/&amp;text=Bilder verkleinern mit convert (imagemagick)&amp;via=mindfuckup&amp;related=DolcePixel"><img align="right" src="http://emanuelduss.ch/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
Wenn man im Internet eine Fotogalerie publizeren will, oder man viele Fotos per E-Mail verschicken will, sollte man die Fotos verkleinern. Ich habe mir ein Skript geschrieben, welches die Auflösung der Bilder verkleinert und die JPEG-Qualitätsstufe heruntersetzt. Somit kann man ganz schnell viele Bilder verkleinern. Mit dem Befehl convert kann ein Bild verkleinert werden. Hierzu [...]]]></description>
			<content:encoded><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://emanuelduss.ch/2010/12/bilder-verkleinern-mit-convert-imagemagick/&amp;text=Bilder verkleinern mit convert (imagemagick)&amp;via=mindfuckup&amp;related=DolcePixel"><img align="right" src="http://emanuelduss.ch/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
<p>Wenn man im Internet eine Fotogalerie publizeren will, oder man viele Fotos per E-Mail verschicken will, sollte man die Fotos verkleinern. Ich habe mir ein Skript geschrieben, welches die Auflösung der Bilder verkleinert und die JPEG-Qualitätsstufe heruntersetzt. Somit kann man ganz schnell viele Bilder verkleinern.<br />
<span id="more-98"></span><br />
Mit dem Befehl <em>convert</em> kann ein Bild verkleinert werden. Hierzu muss das Paket <em>imagemagick</em> installiert sein.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">convert -resize 2048x2048 -quality 60 bild.jpg klein.jpg</div></div>
<p>Man sieht gut, wie sich die Dateigrösse verändert:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">emanuel@discordia:/tmp<br />
$ du -h bild.jpg klein.jpg <br />
1.5M &nbsp; &nbsp;bild.jpg<br />
168K &nbsp; &nbsp;klein.jpg</div></div>
<p>Die Datei wurde durch diesen Vorgang um 90% kleiner.</p>
<p>Um mehrere Bilder in einem Verzeichnis zu verkleinern, habe ich mir ein Skript geschrieben. Dieses Skript erstellt den Unterordner <em>small</em>, verkleinert alle Bilder und gibt aus, wie viele Fotos bereits verkleinert wurden.</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">#!/bin/bash</span><br />
<span style="color: #666666; font-style: italic;">########################################################################</span><br />
<span style="color: #666666; font-style: italic;">#</span><br />
<span style="color: #666666; font-style: italic;"># imageshrink</span><br />
<span style="color: #666666; font-style: italic;"># Verkleinert alle Bilder im aktuellen Verzeichnis</span><br />
<span style="color: #666666; font-style: italic;">#</span><br />
<span style="color: #666666; font-style: italic;"># Copyright 2010 Emanuel Duss</span><br />
<span style="color: #666666; font-style: italic;"># Licensed under GNU General Public License</span><br />
<span style="color: #666666; font-style: italic;">#</span><br />
<span style="color: #666666; font-style: italic;"># 2009-10-09; Emanuel Duss; Erste Version</span><br />
<span style="color: #666666; font-style: italic;"># 2010-12-12; Emanuel Duss; Optionen als Variabeln</span><br />
<span style="color: #666666; font-style: italic;">#</span><br />
<span style="color: #666666; font-style: italic;">########################################################################</span><br />
<br />
<span style="color: #666666; font-style: italic;">########################################################################</span><br />
<span style="color: #666666; font-style: italic;"># Variabeln</span><br />
<span style="color: #007800;">COUNT</span>=<span style="color: #000000;">0</span><br />
<span style="color: #007800;">TOTAL</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #000000; font-weight: bold;">*</span>.<span style="color: #7a0874; font-weight: bold;">&#91;</span>Jj<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span>Pp<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span>Gg<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">wc</span> -w<span style="color: #000000; font-weight: bold;">`</span><br />
<br />
<span style="color: #666666; font-style: italic;"># Optionen</span><br />
<span style="color: #007800;">FOLDER</span>=<span style="color: #ff0000;">&quot;small&quot;</span><br />
<span style="color: #007800;">SIZE</span>=<span style="color: #ff0000;">&quot;2048x2048&quot;</span><br />
<span style="color: #007800;">QUALITY</span>=<span style="color: #ff0000;">&quot;60&quot;</span><br />
<br />
<span style="color: #666666; font-style: italic;">########################################################################</span><br />
<span style="color: #666666; font-style: italic;"># Main</span><br />
<br />
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #007800;">$FOLDER</span><br />
<br />
<span style="color: #000000; font-weight: bold;">for</span> datei <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">*</span>.<span style="color: #7a0874; font-weight: bold;">&#91;</span>Jj<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span>Pp<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span>Gg<span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
<span style="color: #000000; font-weight: bold;">do</span><br />
&nbsp; <span style="color: #007800;">COUNT</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">expr</span> <span style="color: #007800;">$COUNT</span> + <span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">`</span><br />
&nbsp; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$datei</span>: Foto <span style="color: #007800;">$COUNT</span> von <span style="color: #007800;">$TOTAL</span> \<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">expr</span> <span style="color: #000000;">100</span> \<span style="color: #000000; font-weight: bold;">*</span> <span style="color: #007800;">$COUNT</span> <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #007800;">$TOTAL</span><span style="color: #000000; font-weight: bold;">`%</span>\<span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
&nbsp; convert <span style="color: #660033;">-resize</span> <span style="color: #007800;">$SIZE</span> <span style="color: #660033;">-quality</span> <span style="color: #007800;">$QUALITY</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$datei</span>&quot;</span> <span style="color: #ff0000;">&quot;small/<span style="color: #007800;">$datei</span>&quot;</span> <br />
<span style="color: #000000; font-weight: bold;">done</span><br />
<br />
<span style="color: #666666; font-style: italic;"># EOF</span></div></div>
<p>Die Auflösung und die JPEG-Qualitätsstufe kann in den Variabeln angepasst werden.</p>
 <p><a href="http://emanuelduss.ch/?flattrss_redirect&amp;id=98&amp;md5=af01304fa287f3a01be6bfa2a241d331" title="Flattr" target="_blank"><img src="http://emanuelduss.ch/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://emanuelduss.ch/2010/12/bilder-verkleinern-mit-convert-imagemagick/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="http://emanuelduss.ch/?flattrss_redirect&amp;id=98&amp;md5=af01304fa287f3a01be6bfa2a241d331" type="text/html" />"
	</item>
	</channel>
</rss>

