<?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>awk &#8211; SMsoft &#8211; informatica e dintorni</title>
	<atom:link href="https://blog.smsoft.it/tag/awk/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.smsoft.it</link>
	<description>consigli settimanali su MacOS, GNU/Linux ed Open Source</description>
	<lastBuildDate>Tue, 25 Jan 2022 14:16:26 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=66481</generator>
	<item>
		<title>BASH: Analizzare i log di apache con una riga</title>
		<link>https://blog.smsoft.it/2016/11/08/bash-analizzare-log-apache-riga/</link>
					<comments>https://blog.smsoft.it/2016/11/08/bash-analizzare-log-apache-riga/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 08 Nov 2016 08:30:32 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[awk]]></category>
		<category><![CDATA[sort]]></category>
		<category><![CDATA[tail]]></category>
		<guid isPermaLink="false">http://blog.smsoft.it/?p=3556</guid>

					<description><![CDATA[L&#8217;analisi dei files di log di un server web può servire per capire e diagnosticare problemi, anomalie, abusi, pagine più viste, referrer, etc etc. Si possono usare i classici analizzatori di statistiche, oppure magari qualche script bash molto semplice e spesso molto più veloce ed efficace. Queste alcune delle più utili, da modificare secondo le ... <a title="BASH: Analizzare i log di apache con una riga" class="read-more" href="https://blog.smsoft.it/2016/11/08/bash-analizzare-log-apache-riga/" aria-label="Per saperne di più su BASH: Analizzare i log di apache con una riga">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">L&#8217;analisi dei files di log di un server web può servire per capire e diagnosticare problemi, anomalie, abusi, pagine più viste, referrer, etc etc.</p>



<p class="wp-block-paragraph">Si possono usare i classici analizzatori di statistiche, oppure magari qualche script bash molto semplice e spesso molto più veloce ed efficace.</p>



<p class="wp-block-paragraph">Queste alcune delle più utili, da modificare secondo le proprie esigenze.</p>



<p class="wp-block-paragraph"># top 20 URLs per le ultime 5000 hits</p>



<pre class="wp-block-preformatted">tail -5000 ./transfer.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -20
tail -5000 ./transfer.log | awk '{freq[$7]++} END {for (x in freq) {print freq[x], x}}' | sort -rn | head -20</pre>



<p class="wp-block-paragraph"># top 20 URLS escludendo i POST dalle ultime 5000 hits</p>



<pre class="wp-block-preformatted">tail -5000 ./transfer.log | awk -F"[ ?]" '{print $7}' | sort | uniq -c | sort -rn | head -20
tail -5000 ./transfer.log | awk -F"[ ?]" '{freq[$7]++} END {for (x in freq) {print freq[x], x}}' | sort -rn | head -20</pre>



<p class="wp-block-paragraph"># top 20 IPs dalle ultime 5000 hits</p>



<pre class="wp-block-preformatted">tail -5000 ./transfer.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -20
tail -5000 ./transfer.log | awk '{freq[$1]++} END {for (x in freq) {print freq[x], x}}' | sort -rn | head -20</pre>



<p class="wp-block-paragraph"># top 20 URLs da un certo IP (es 1.2.3.4) dalle ultime 5000 hits</p>



<pre class="wp-block-preformatted">IP=1.2.3.4; tail -5000 ./transfer.log | grep $IP | awk '{print $7}' | sort | uniq -c | sort -rn | head -20
IP=1.2.3.4; tail -5000 ./transfer.log | awk -v ip=$IP ' $1 ~ ip {freq[$7]++} END {for (x in freq) {print freq[x], x}}' | sort -rn | head -20</pre>



<p class="wp-block-paragraph"># top 20 URLS richieste da un certo IP(es 1.2.3.4), escludendo le richieste POST, dalle ultime 5000 hits</p>



<pre class="wp-block-preformatted">IP=1.2.3.4; tail -5000 ./transfer.log | fgrep $IP | awk -F "[ ?]" '{print $7}' | sort | uniq -c | sort -rn | head -20
IP=1.2.3.4; tail -5000 ./transfer.log | awk -F"[ ?]" -v ip=$IP ' $1 ~ ip {freq[$7]++} END {for (x in freq) {print freq[x], x}}' | sort -rn | head -20</pre>



<p class="wp-block-paragraph"># top 20 referrers dalle ultime 5000 hits</p>



<pre class="wp-block-preformatted">tail -5000 ./transfer.log | awk '{print $11}' | tr -d '"' | sort | uniq -c | sort -rn | head -20
tail -5000 ./transfer.log | awk '{freq[$11]++} END {for (x in freq) {print freq[x], x}}' | tr -d '"' | sort -rn | head -20</pre>



<p class="wp-block-paragraph"># top 20 user agents dalle ultime 5000 hits</p>



<pre class="wp-block-preformatted">tail -5000 ./transfer.log | cut -d\ -f12- | sort | uniq -c | sort -rn | head -20</pre>



<p class="wp-block-paragraph"># totale dei dati (in MB) trasferiti dalle ultime 5000 hits</p>



<pre class="wp-block-preformatted">tail -5000 ./transfer.log | awk '{sum+=$10} END {print sum/1048576}'</pre>



<p class="wp-block-paragraph">enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2016/11/08/bash-analizzare-log-apache-riga/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Estrarre i logs di apache tra due date/orari</title>
		<link>https://blog.smsoft.it/2012/03/31/estrarre-i-logs-di-apache-tra-due-dateorari/</link>
					<comments>https://blog.smsoft.it/2012/03/31/estrarre-i-logs-di-apache-tra-due-dateorari/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sat, 31 Mar 2012 09:00:36 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[awk]]></category>
		<category><![CDATA[log]]></category>
		<guid isPermaLink="false">http://blog.smsoft.it/?p=1772</guid>

					<description><![CDATA[Quando si lavora su server web con decine di migliaia di accessi al giorno, si arriva facilmente a file di log di diversi GigaByte. Controllare file di questa dimensione è praticamente impossibile. In questo caso ci viene in aiuto awk, che consente di estrapolare facilmente delle strighe, con determinati requisiti, da un file. Se, ad ... <a title="Estrarre i logs di apache tra due date/orari" class="read-more" href="https://blog.smsoft.it/2012/03/31/estrarre-i-logs-di-apache-tra-due-dateorari/" aria-label="Per saperne di più su Estrarre i logs di apache tra due date/orari">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[<p>Quando si lavora su server web con decine di migliaia di accessi al giorno, si arriva facilmente a file di log di diversi GigaByte. Controllare file di questa dimensione è praticamente impossibile.<br />
In questo caso ci viene in aiuto <strong>awk</strong>, che consente di estrapolare facilmente delle strighe, con determinati requisiti, da un file.<br />
Se, ad esempio, il file di log si chiama <strong>access.log</strong> e vogliamo estrarre dati dalle <strong>18:05</strong> alle <strong>20:11</strong> del <strong>27 Marzo 2012</strong> inserendoli nel file <strong>log_estratti.txt</strong>, possiamo usare il seguente comando:</p>
<p></p><pre class="urvanov-syntax-highlighter-plain-tag">awk '/27\/Mar\/2012:18:05:/, /27\/Mar\/2012:20:11:/' access.log >log_estratti.txt</pre><p></p>
<p>Ricordo inoltre un precedente post che spiega come <a href="http://blog.smsoft.it/2011/09/20/estrarre-una-parte-di-file-da-linux-bash-con-sed/">Estrarre una parte di file da Linux bash con sed</a></p>
<p>enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2012/03/31/estrarre-i-logs-di-apache-tra-due-dateorari/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Quali sono i dieci comandi più usati nel terminale?</title>
		<link>https://blog.smsoft.it/2010/08/18/quali-sono-i-dieci-comandi-piu-usati-nel-terminale/</link>
					<comments>https://blog.smsoft.it/2010/08/18/quali-sono-i-dieci-comandi-piu-usati-nel-terminale/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 18 Aug 2010 16:37:11 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[awk]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[sort]]></category>
		<category><![CDATA[tail]]></category>
		<category><![CDATA[uniq]]></category>
		<guid isPermaLink="false">http://blog.smsoft.it/?p=881</guid>

					<description><![CDATA[Sei curioso di sapere quali sono i dieci comandi più usati nel terminale? Semplice, esegui nel terminale: [crayon-6a7226d1e5d88516860952/]]]></description>
										<content:encoded><![CDATA[<p>Sei curioso di sapere quali sono i dieci comandi più usati nel terminale? Semplice, esegui nel terminale:</p><pre class="urvanov-syntax-highlighter-plain-tag">history | awk '{print $2}' | awk 'BEGIN {FS="|"}{print $1}' | sort | uniq -c | sort -n | tail | sort -nr</pre><p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2010/08/18/quali-sono-i-dieci-comandi-piu-usati-nel-terminale/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
