<?xml version="1.0" encoding="ISO-8859-15"?>
<rss version="2.0"><channel>
<title>filtteriputki</title>
<link>http://sange.fi/~atehwa/cgi-bin/piki.cgi/</link>
<description>Recent changes in filtteriputki</description>
<item><title>filtteriputki</title>
<link>http://sange.fi/~atehwa/cgi-bin/piki.cgi/filtteriputki</link>
<guid>http://sange.fi/~atehwa/cgi-bin/piki.cgi/#1119876101</guid>
<description>&lt;p&gt;&lt;ins&gt;[Unix-filosofia]ssa monet ohjelmat toimivat filttereinä, eli ne 
lukevat merkkivirtaa ja tuottavat siitä toisen merkkivirran - jotkut 
vain muuttelevat vähän syötettään, jotkut paljon, jotkut tulostavat 
jotain aivan muuta. Esimerkiksi cat -n lisää jokaisen linjan alkuun 
numeron, sort järjestää linjat aakkosjärjestykseen ja wc vain laskee 
linjat, sanat ja merkit ja tulostaa nämä numerot.&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;Unixien komentotulkeissa on hieno ominaisuus, "pipe" (putki). 
Sitä merkitään merkillä "|", jota tämän mukaisesti kutsutaan usein 
putkimerkiksi. Putki tarkoittaa, että kaksi ohjelmaa voi yhdistää 
siten, että toisen tuloste menee suoraan toisen syötteeksi. Esimerkiksi 
{{{ ssh foo cut -d: -f1 /etc/passwd | a2ps -Pjonkka }}} Listaa koneen 
foo käyttäjätunnukset ja lähettää ne suoraan tulostimelle jonkka. 
Putkia voi olla mielivaltaisen pitkiä:&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;{{{ lsof -i | grep ESTABL | cut -b 10-16 | sort -u | wc }}} 
(tulostaa, kuinka monta nettiyhteyksiä auki pitävää prosessia on 
käynnissä)&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;Joissain tilanteissa putkissa vastuu syötteen eri kohdista on 
pumpattu eri filttereille. Tällöin syötteessä on merkintöjä, joiden 
perusteella filtterit päättävät, tuleeko niiden koskea kyseiseen 
kohtaan merkkivirrasta vai päästää se vain sellaisenaan läpi. Kanoninen 
esimerkki on troff: {{{ cat jotain.1 | pic | tbl | eqn | troff -man }}} 
mutta myös [heuristinen HTML-konvertoija]ni on suunniteltu tällä 
ideologialla.&lt;/ins&gt;

</description>
<pubDate>Mon, 27 Jun 2005 12:41:41 +0000</pubDate>
</item>

</channel></rss>
