<?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>Gianni Amato &#187; log</title>
	<atom:link href="http://www.gianniamato.it/tag/log/feed" rel="self" type="application/rss+xml" />
	<link>http://www.gianniamato.it</link>
	<description>Il primo fondamento della sicurezza non e&#039; la tecnologia. E&#039; l&#039;attitudine mentale.</description>
	<lastBuildDate>Wed, 01 Feb 2012 17:55:27 +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>Rimuovere Duplicati su Log di tipo csv</title>
		<link>http://www.gianniamato.it/2011/02/rimuovere-duplicati-su-log-di-tipo-csv.html</link>
		<comments>http://www.gianniamato.it/2011/02/rimuovere-duplicati-su-log-di-tipo-csv.html#comments</comments>
		<pubDate>Tue, 15 Feb 2011 21:32:16 +0000</pubDate>
		<dc:creator>guelfoweb</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[awk]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[log]]></category>

		<guid isPermaLink="false">http://www.gianniamato.it/?p=1564</guid>
		<description><![CDATA[Ho visto gente entrare nel panico alle prese con file di log formato csv composti da milioni di righe. Inutile affidarsi al foglio di calcolo. Tornando al titolo del post il problema è quello di dover rimuovere i duplicati limitatamente &#8230; <a href="http://www.gianniamato.it/2011/02/rimuovere-duplicati-su-log-di-tipo-csv.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ho visto gente entrare nel panico alle prese con file di log formato csv composti da milioni di righe. Inutile affidarsi al foglio di calcolo.</p>
<p>Tornando al titolo del post il problema è quello di dover rimuovere i duplicati limitatamente agli elementi presenti in una determinata colonna. La questione sarebbe risolvibile con uno script di una decina di righe ma se si lavora su un sistema linux, utilizzando il comando awk, una riga da shell è più che sufficiente.</p>
<pre>$ awk '!x[$1]++' FS="," <em>logfile.csv</em></pre>
<p><strong>$1</strong> indica la colonna sulla quale lavorare, in questo caso verranno rimossi i duplicati in riferimento alla prima.</p>
<p><strong>FS=&#8221;,&#8221;</strong> determina l&#8217;elemento separatore, nel nostro caso la virgola.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gianniamato.it/2011/02/rimuovere-duplicati-su-log-di-tipo-csv.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Alla ricerca di un tool per l&#8217;analisi forense dei Web Server Log</title>
		<link>http://www.gianniamato.it/2010/06/tool-per-analisi-forense-web-server-log.html</link>
		<comments>http://www.gianniamato.it/2010/06/tool-per-analisi-forense-web-server-log.html#comments</comments>
		<pubDate>Mon, 14 Jun 2010 14:28:08 +0000</pubDate>
		<dc:creator>guelfoweb</dc:creator>
				<category><![CDATA[forensics]]></category>
		<category><![CDATA[log]]></category>

		<guid isPermaLink="false">http://www.gianniamato.it/?p=1246</guid>
		<description><![CDATA[Robert Hansen, meglio noto come RSnake, è alla ricerca di una applicazione per uso forense in grado di analizzare tipologie diverse di log estratti da web server. Per esigenze lavorative piu&#8217; volte mi è passato per la mente di scrivere &#8230; <a href="http://www.gianniamato.it/2010/06/tool-per-analisi-forense-web-server-log.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Robert Hansen, meglio noto come RSnake, è <a href="http://ha.ckers.org/blog/20100613/web-server-log-forensics-app-wanted/" target="_blank">alla ricerca</a> di una applicazione per uso forense in grado di analizzare tipologie diverse di log estratti da web server.</p>
<p>Per esigenze lavorative piu&#8217; volte mi è passato per la mente di scrivere uno strumento che mi aiuti ad automatizzare le operazioni, di volta in volta ho rimandato perchè puntualmente si sono presentate problematiche differenti. I requisiti <a href="http://ha.ckers.org/blog/20100613/web-server-log-forensics-app-wanted/" target="_blank">elencati nel post</a> rendono bene l&#8217;idea di quanto possa essere complesso scrivere una applicazione adatta per ogni esigenza, soprattutto quando ci si trova davanti a svariate giga o tera di log da analizzare.</p>
<p>Tralasciando il foglio di calcolo con il quale sarebbe assurdo operare o comode GUI tuttofare che in realtà non soddisfano mai a pieno le esigenze, al momento non vedo soluzioni idonee in grado di soddisfare ogni requisito. Ragione per cui continuo a &#8220;zappare&#8221; con linux a colpi di cat, cut e grep.</p>
<p>Intanto <a href="http://ha.ckers.org/blog/20100613/web-server-log-forensics-app-wanted/" target="_blank">nei commenti al post</a> saltano fuori una serie di interessanti soluzioni sia open sia free che possono sempre tornare utili.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gianniamato.it/2010/06/tool-per-analisi-forense-web-server-log.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Grep e il problema di encoding dei caratteri</title>
		<link>http://www.gianniamato.it/2010/02/grep-e-il-problema-di-encoding-dei-caratteri.html</link>
		<comments>http://www.gianniamato.it/2010/02/grep-e-il-problema-di-encoding-dei-caratteri.html#comments</comments>
		<pubDate>Mon, 15 Feb 2010 18:12:52 +0000</pubDate>
		<dc:creator>guelfoweb</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[iconv]]></category>
		<category><![CDATA[log]]></category>

		<guid isPermaLink="false">http://www.gianniamato.it/?p=1041</guid>
		<description><![CDATA[Non ho idea del perchè il &#8220;buon&#8221; MS Sql Server utilizza la codifica UTF-16 quando esporta i file di log &#8211; non è da escludere che chi ha configurato il database lo abbia impostato così di proposito (spero abbia avuto &#8230; <a href="http://www.gianniamato.it/2010/02/grep-e-il-problema-di-encoding-dei-caratteri.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Non ho idea del perchè il &#8220;buon&#8221; <em>MS Sql Server</em> utilizza la codifica UTF-16 quando esporta i file di log &#8211; non è da escludere che chi ha configurato il database lo abbia impostato così di proposito (spero abbia avuto i suoi buoni motivi per farlo) o probabilmente per errore. Fatto sta che in queste condizioni andando di <strong>grep</strong> si riscontrano problemi di matching.</p>
<p>Naturalmente la soluzione è quella di convertire il file di log (un comune csv) da UTF-16 in UTF-8</p>
<p><code>iconv --from-code UTF-16 --to-code UTF-8 <em>filelog.csv</em> &gt; <em>newlog.csv</em></code></p>
<p>Date le impostazioni di codifica vi ritroverete con un file di log dalle dimensioni esattamente dimezzate e finalmente digeribile da grep.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gianniamato.it/2010/02/grep-e-il-problema-di-encoding-dei-caratteri.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rinominare e concatenare file di log</title>
		<link>http://www.gianniamato.it/2009/07/rinominare-e-concatenare-file-di-log.html</link>
		<comments>http://www.gianniamato.it/2009/07/rinominare-e-concatenare-file-di-log.html#comments</comments>
		<pubDate>Wed, 15 Jul 2009 20:06:00 +0000</pubDate>
		<dc:creator>guelfoweb</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[log]]></category>

		<guid isPermaLink="false">http://gianniamato.wordpress.com/2009/07/15/rinominare-e-concatenare-file-di-log</guid>
		<description><![CDATA[I log sono tipicamente dei file di testo facilmente ispezionabili con le più comuni applicazioni di text editing. Se per qualche insolito motivo vi capita di dover dare in pasto i file di log ad una applicazione che accetta solo &#8230; <a href="http://www.gianniamato.it/2009/07/rinominare-e-concatenare-file-di-log.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div style="text-align:justify;">I log sono tipicamente dei file di testo facilmente ispezionabili con le più comuni applicazioni di text editing. Se per qualche insolito motivo vi capita di dover dare in pasto i file di log ad una applicazione che accetta solo file con una determinata estensione (ad esempio <span style="font-style:italic;">.log</span> o <span style="font-style:italic;">.txt</span>) e non volete perdere tempo con le espressioni regolari di <span style="font-style:italic;">rename</span> potete utilizzare il comando <span style="font-style:italic;">mv</span> all&#8217;interno di un banale ciclo <span style="font-style:italic;">for</span>.</p>
<p>Supponiamo di dover <span style="font-size:130%;">rinominare</span> i seguenti file di log con estensione <span style="font-style:italic;">.txt</span>:</p>
<p><code>file.log.090714<br />
file.log.090715<br />
file.log.090716</code></p>
<p><code style="font-weight:bold;">$ for i in `ls file.log.*`; do mv $i $i.txt; done</code></p>
<p>Il risultato sarà il seguente:</p>
<p><code>file.log.090714.txt<br />
file.log.090715.txt<br />
file.log.090716.txt</code></p>
<p>Se volessimo <span style="font-size:130%;">concatenare</span> tutti i file con estensione <span style="font-style:italic;">.txt</span> possiamo ricorrere al classico comando <span style="font-style:italic;">cat</span>.<br />
<code><br />
<span style="font-weight:bold;">$ cat *.txt &gt; </span><span style="font-weight:bold;font-family:Georgia,serif;">newfile</span></code></p>
<p>Se invece prima di concatenarli volessimo aggiungere un delimitatore alla fine di ogni singolo file (o una riga vuota) per trattamenti futuri o semplicemente per capire ad occhio quando un file finisce e comincia l&#8217;altro possiamo usare la seguente riga di comando:</p>
<p><code style="font-weight:bold;">$ for i in `ls file.log.*`; do echo "" &gt;&gt; $i; done</code></p>
<p>In questo caso il delimitatore è una riga vuota aggiunta alla fine di tutti i file il cui nome comincia con <span style="font-style:italic;">file.log</span></div>
]]></content:encoded>
			<wfw:commentRss>http://www.gianniamato.it/2009/07/rinominare-e-concatenare-file-di-log.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

