﻿<?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>C#, .NET, Java, Php, Python, Wordpress, Windows, Linux... &#187; shell</title>
	<atom:link href="http://www.marcobruni.info/tag/shell/feed" rel="self" type="application/rss+xml" />
	<link>http://www.marcobruni.info/wordpress</link>
	<description>Programmatore, Sviluppatore, Sistemista e Consulente Informatico: quando una passione è anche una professione.</description>
	<lastbuilddate>Fri, 20 Jan 2012 07:03:13 +0000</lastbuilddate>
	<language>en</language>
	<sy:updateperiod>hourly</sy:updateperiod>
	<sy:updatefrequency>1</sy:updatefrequency>
	<generator>http://wordpress.org/?v=</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Linux: l&#8217;importanza di conoscere i comandi sed e awk</title>
		<link>http://www.marcobruni.info/wordpress/linux-limportanza-di-conoscere-i-comandi-sed-e-awk.html</link>
		<comments>http://www.marcobruni.info/wordpress/linux-limportanza-di-conoscere-i-comandi-sed-e-awk.html#comments</comments>
		<pubdate>Sat, 11 Dec 2010 16:30:23 +0000</pubdate>
		<dc:creator>marco</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[sistemista]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid ispermalink="false">http://www.marcobruni.info/?p=1020</guid>
		<description><![CDATA[Per un sistemista Linux è importantissimo sapere usare la Shell ed i suoi comandi come sed e awk. Scriverò un piccola introduzione con esempi per farvi capire le potenzialità di questi comandi. Il comando sed sed è un editor di flusso: opera sui dati in modo seriale come li leggerebbe una persona. Semplificando si può [...]]]></description>
			<content:encoded><![CDATA[<p>Per un sistemista <a href="http://it.wikipedia.org/wiki/Linux" target="_blank"><em><strong>Linux</strong></em></a> è importantissimo sapere usare la <a href="http://it.wikipedia.org/wiki/Shell_(informatica)">Shell</a> ed i suoi comandi come <strong><em>sed</em></strong> e <strong><em>awk</em></strong>. Scriverò un piccola introduzione con esempi per farvi capire le potenzialità di questi comandi.</p>
<p><em><strong>Il comando sed</strong></em><br />
sed è un editor di flusso: opera sui dati in modo seriale come li leggerebbe una persona. Semplificando si può pensare a sed come un modo automatico per cercare e sostituire delle parole con altre. Per esempio, questo comando sostituisce tutte le istanze di &#8220;marco&#8221; con &#8220;bruni&#8221; all&#8217;interno del file di testo prova.txt:</p>

<div class="wp_syntax"><div class="code"><pre class="linux" style="font-family:monospace;">sed -e 's/marco/bruni/g' prova.txt</pre></div></div>

<p>Chiunque abbia usato le <a href="http://it.wikipedia.org/wiki/Espressione_regolare" target="_blank">espressioni regolari</a> all&#8217;interno di un editor di testo o linguaggio di programmazione troverà sed facile da afferrare.</p>
<p><em><strong>Il comando awk</strong></em><br />
Awk è un pò più ostico e ci vuole più tempo per impararlo. E&#8217; un comando orientato ai record cioè awk è lo strumento giusto da utilizzare quando i dati contengono campi delimitati che si desidera manipolare.</p>
<p>Considerate questo elenco di nomi in un file persone.txt .<br />
Marco Bruni<br />
Mario Rossi<br />
Marco Verdi<br />
Giovanni Neri</p>
<p>per estrarre solo il nome, possiamo usare questo comando:</p>

<div class="wp_syntax"><div class="code"><pre class="linux" style="font-family:monospace;">awk '{print $1}' persone.txt
Marco
Mario
Marco
Giovanni</pre></div></div>

<p>oppure possiamo cercare solo le persone che si chiamano Marco</p>

<div class="wp_syntax"><div class="code"><pre class="linux" style="font-family:monospace;">awk '$1 ~ /Marco/ {print}' persone.txt
Marco Bruni
Marco Verdi</pre></div></div>

<p>Awk può fare molto di più, e dispone di nozioni di programmazione come variabili, condizionali e cicli. Ma anche solo una conoscenza di base di come abbinare ed estrarre campi ti porterà lontano. Se volete approfondire l&#8217;argomento vi consiglio di leggere questo manuale: <a href="http://www.pluto.it/files/ildp/guide/abs/awk.html" target="_blank">Guida a a Sed e Awk</a></p>
<p>Voi cosa ne pensate?</p>
]]></content:encoded>
			<wfw:commentrss>http://www.marcobruni.info/wordpress/linux-limportanza-di-conoscere-i-comandi-sed-e-awk.html/feed</wfw:commentrss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Shell: Integrare l&#8217; output di ls</title>
		<link>http://www.marcobruni.info/wordpress/linux-shell-integrare-l-output-di-ls.html</link>
		<comments>http://www.marcobruni.info/wordpress/linux-shell-integrare-l-output-di-ls.html#comments</comments>
		<pubdate>Tue, 02 Mar 2010 06:34:12 +0000</pubdate>
		<dc:creator>marco</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[shell]]></category>

		<guid ispermalink="false">http://www.marcobruni.info/?p=475</guid>
		<description><![CDATA[ls è uno dei comandi base di UNIX, e quindi anche per GNU/Linux, con esso è possibile controllare directories, files, permessi, ecc., il suo output è dettagliato e ben strutturato, ma può anche essere migliorato. Come? Provate a mandare in esecuzione: $ (printf “PERMESSI LINKS PROPRIETARIO GRUPPO DIMENSIONE MESE GIORNO HH:MM PROGRAMMA” ; ls -l [...]]]></description>
			<content:encoded><![CDATA[<p>ls è uno dei comandi base di UNIX, e quindi anche per GNU/Linux, con esso è possibile controllare directories, files, permessi, ecc., il suo output è dettagliato e ben strutturato, ma può anche essere migliorato.</p>
<p>Come?</p>
<p>Provate a mandare in esecuzione:</p>
<p>$ (printf “PERMESSI LINKS PROPRIETARIO GRUPPO DIMENSIONE MESE GIORNO HH:MM PROGRAMMA” ; ls -l | sed 1d) | column -t</p>
<p>Articoli correlati:<br />
<a href="http://www.marcobruni.info/it/category/linux">http://www.marcobruni.info/it/category/linux</a><br />
<a href="http://www.marcobruni.info/it/category/shell">http://www.marcobruni.info/it/category/shell</a></p>
]]></content:encoded>
			<wfw:commentrss>http://www.marcobruni.info/wordpress/linux-shell-integrare-l-output-di-ls.html/feed</wfw:commentrss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Shell: Cambiare estensione ricorsivamente</title>
		<link>http://www.marcobruni.info/wordpress/linux-shell-cambiare-estensione-ricorsivamente.html</link>
		<comments>http://www.marcobruni.info/wordpress/linux-shell-cambiare-estensione-ricorsivamente.html#comments</comments>
		<pubdate>Sat, 30 Jan 2010 10:35:34 +0000</pubdate>
		<dc:creator>marco</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[shell]]></category>

		<guid ispermalink="false">http://www.marcobruni.info/?p=482</guid>
		<description><![CDATA[Spesso le foto scaricate dalla fotocamera digitale, hanno estensione .JPG, anziche .jpg, per ovviare al “problema”, basterà eseguire il comando seguente dalla shell: find /percorso/delle/immagini -name *.JPG -exec rename “s/.JPG/.jpg/g” {} ;]]></description>
			<content:encoded><![CDATA[<p>Spesso le foto scaricate dalla fotocamera digitale, hanno estensione .JPG, anziche .jpg, per ovviare al “problema”, basterà eseguire il comando seguente dalla shell:</p>
<p><code>find /percorso/delle/immagini -name *.JPG -exec rename “s/.JPG/.jpg/g” {} ;</code></p>
]]></content:encoded>
			<wfw:commentrss>http://www.marcobruni.info/wordpress/linux-shell-cambiare-estensione-ricorsivamente.html/feed</wfw:commentrss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Shell: Zippare e spostare</title>
		<link>http://www.marcobruni.info/wordpress/linux-shell-zippare-e-spostare.html</link>
		<comments>http://www.marcobruni.info/wordpress/linux-shell-zippare-e-spostare.html#comments</comments>
		<pubdate>Thu, 14 Jan 2010 06:24:26 +0000</pubdate>
		<dc:creator>marco</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[shell]]></category>

		<guid ispermalink="false">http://www.marcobruni.info/?p=335</guid>
		<description><![CDATA[Continuiamo ad esplorare il fantastico mondo di Gnu/Linux. Il comando di oggi, non fa altro che comprimere la directory di lavoro al volo, evidenziando i progressi, e spostandola nella posizione voluta. tar -cf &#8211; . &#124; pv -s $(du -sb . &#124; awk &#8216;{print $1}&#8217;) &#124; gzip > out.tgz Ciò che accade è che indichiamo [...]]]></description>
			<content:encoded><![CDATA[<p>Continuiamo ad esplorare il fantastico mondo di <a href="http://it.wikipedia.org/wiki/Linux" target="_blank">Gnu/Linux</a>.</p>
<p>Il comando di oggi, non fa altro che comprimere la directory di lavoro al volo, evidenziando i progressi, e spostandola nella posizione voluta.</p>
<p>tar -cf &#8211; . | pv -s $(du -sb . | awk &#8216;{print $1}&#8217;) | gzip > out.tgz</p>
<p>Ciò che accade è che indichiamo a tar di creare “-c”, un archivio di tutti i file nella directory corrente “.” (ricorsivamente), stampando l output dei dati verso lo stdout “-f -”, poi andiamo a specificare la dimensione “-s” di tutti i file nella directory corrente, per il comando “pv”, il prossimo passo: du “-sb. | awk? (Print $ 1)?” restituisce il numero di byte della directory corrente, poi zippiamo tutto il contenuto ed inviamo l outpup verso il file “out.tgz”</p>
<p><strong>Articoli correlati:</strong><br />
<a href="http://www.marcobruni.info/it/linux-shell-scompattare-dalla-rete.html">Linux shell: Scompattare dalla rete</a></p>
<p><a href="http://www.marcobruni.info/it/linux-il-meglio-degli-ultimi-10-anni-secondo-ibm-developerworks.html">Linux, il meglio degli ultimi 10 anni secondo IBM developerWorks</a></p>
]]></content:encoded>
			<wfw:commentrss>http://www.marcobruni.info/wordpress/linux-shell-zippare-e-spostare.html/feed</wfw:commentrss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux shell: Scompattare dalla rete</title>
		<link>http://www.marcobruni.info/wordpress/linux-shell-scompattare-dalla-rete.html</link>
		<comments>http://www.marcobruni.info/wordpress/linux-shell-scompattare-dalla-rete.html#comments</comments>
		<pubdate>Wed, 30 Dec 2009 05:53:46 +0000</pubdate>
		<dc:creator>marco</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[shell]]></category>

		<guid ispermalink="false">http://www.marcobruni.info/?p=339</guid>
		<description><![CDATA[Da oggi comincio a pubblicare degli articoli che riguardano GNU/Linux che è un sistema operativo libero di tipo Unix ed in particolare la shell che non è l&#8217;ascella ma è un programma che permette agli utenti di comunicare con il sistema e di avviare altri programmi. Pubblicherò periodicamente questi consigli per diventare un ottimo amministratore [...]]]></description>
			<content:encoded><![CDATA[<p>Da oggi comincio a pubblicare degli articoli che riguardano <a href="http://it.wikipedia.org/wiki/Linux" target="_blank">GNU/Linux</a> che è un sistema operativo libero di tipo Unix ed in particolare la <a href="http://it.wikipedia.org/wiki/Shell_%28informatica%29">shell</a> che non è l&#8217;ascella <img src='http://www.marcobruni.info/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  ma è un programma che permette agli utenti di comunicare con il sistema e di avviare altri programmi.</p>
<p>Pubblicherò periodicamente questi consigli per diventare un ottimo amministratore di sistemi GNU/Linux <img src='http://www.marcobruni.info/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Perchè non provare a spacchettare un tarball direttamente dalla rete, senza salvare il paccheto localmente?</p>
<p>Proviamoci:</p>
<p>Usando wget digitate ed esguite questo comando: wget -O &#8211; http://IndirizzoWeb/a.gz | tar xz<br />
Oppure Curl digitate ed esguite questo comando: curl http://IndirizzoWeb/a.gz | tar xz</p>
<p>Se l&#8217;archivio è compresso con bzip2 utilizzare “xj” come opzioni a tar cioè tar xj.</p>
]]></content:encoded>
			<wfw:commentrss>http://www.marcobruni.info/wordpress/linux-shell-scompattare-dalla-rete.html/feed</wfw:commentrss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced

Served from: www.marcobruni.info @ 2012-02-09 07:22:47 -->
