<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ote on Michael’s Domain</title><link>https://jeltsch.org/fi/tags/ote/</link><description>Recent content in Ote on Michael’s Domain</description><generator>Hugo</generator><language>fi</language><copyright>Copyright © 2002 - 2026 Michael Jeltsch.</copyright><lastBuildDate>Fri, 24 Jul 2026 00:18:18 +0300</lastBuildDate><atom:link href="https://jeltsch.org/fi/tags/ote/index.xml" rel="self" type="application/rss+xml"/><item><title>Tiedostojen etsiminen find-komennolla</title><link>https://jeltsch.org/fi/finding_files_with_find/</link><pubDate>Mon, 24 Sep 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/fi/finding_files_with_find/</guid><description>&lt;p&gt;Tiedostojen etsiminen &lt;em&gt;find&lt;/em&gt;-komennolla on itse asiassa vaikeampaa kuin sen pitäisi olla. Tämä komento etsii ja listaa koko tiedostojärjestelmän suurimmat tiedostot (yli 200 Mt):&lt;code&gt;find / -type f -size +200000k -exec ls -lh {} \; | awk '{ print $9 &amp;quot;: &amp;quot; $5 }'&lt;/code&gt;Sama, mutta yksinkertaisemmalla syntaksilla:&lt;code&gt;find / -size +200M -ls&lt;/code&gt;Tämä etsii nykyisen hakemiston alla olevat viimeksi muutetut tiedostot:&lt;code&gt;find . -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort&lt;/code&gt;Ja tämä komento ohjaa &lt;em&gt;find&lt;/em&gt;-komennon tulokset toiseen komentoon. Ensin &lt;em&gt;find&lt;/em&gt; etsii Quicktime-elokuvia (tiedostotunnisteen .mov perusteella) ja sitten &lt;em&gt;ffmpeg&lt;/em&gt; muuntaa ne avi-tiedostoiksi.&lt;code&gt;find . -name '*.mov' -exec sh -c 'ffmpeg -i &amp;quot;$0&amp;quot; -sameq &amp;quot;${0%%.mov}.avi&amp;quot;' {} \;&lt;/code&gt;Tämä komento etsii ja listaa kaikki tiedostonimet, jotka sisältävät merkkijonon &amp;lsquo;bitcoin&amp;rsquo;:&lt;code&gt;find . -name '*bitcoin*' -ls&lt;/code&gt;Ja tämä komento etsii Quicktime-elokuvat ja poistaa ne:&lt;code&gt;find . -name '*.mov' -exec sh -c 'rm &amp;quot;$0&amp;quot;' {} \;&lt;/code&gt;Ja tämä etsii tiedostot, joita on muokattu (luotu tai päivitetty) viimeisten 2 minuutin aikana:&lt;code&gt;find . -cmin 2&lt;/code&gt;Tämä etsii roskaa, jonka olet kopioinut Macintoshista ja jota et tarvitse Linuxissa:&lt;code&gt;find . -name '*.DS_Store' -type f -delete&lt;/code&gt;Sama juttu tässä:&lt;code&gt;find . -name '._*' -type f -delete&lt;/code&gt;Kun olet juurihakemistossa, tämän pitäisi löytää kaikki tiedostot, joiden nimi on &amp;lsquo;syncthing&amp;rsquo;:&lt;code&gt;find . -name 'syncthing' -ls&lt;/code&gt;Ja tämä löytää kaikki yli 200 MB:n kokoiset tiedostot /home-hakemistosta:&lt;code&gt;find /home -size +200M -ls&lt;/code&gt;Etsi rekursiivisesti kaikki tiedostot, joiden pääte on .gz, ja laske niiden lukumäärä:&lt;code&gt;find . -name '*.gz' | wc -l&lt;/code&gt;Etsi rekursiivisesti kaikki tiedostot, joiden pääte EI ole .gz, ja laske niiden lukumäärä:&lt;code&gt;find . -not -name '*.gz' | wc -l&lt;/code&gt;Kun haluat etsiä rekursiivisesti tekstitiedostojen sisällöstä, sinun on käytettävä grep-komentoa:&lt;code&gt;grep -rnw '/polku/kohdekansioon' -e 'pattern'&lt;/code&gt;Kun etsit PDF-tiedostoja, joita on muokattu lokakuussa 2024:&lt;code&gt;sudo find / -type f -name &amp;quot;*.pdf&amp;quot; -newermt &amp;quot;2024-10-01&amp;quot; ! -newermt &amp;quot;2024-11-01&amp;quot; 2&amp;gt;/dev/null&lt;/code&gt;&lt;/p&gt;</description></item><item><title>grep tiedoston sisällön etsimiseen tai rpm -qa -komennon tulosteeseen</title><link>https://jeltsch.org/fi/grep_to_search_for_file_content_or_rpm_qa_output/</link><pubDate>Fri, 25 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/fi/grep_to_search_for_file_content_or_rpm_qa_output/</guid><description>&lt;p&gt;Jos haluat etsiä tietystä hakemistosta (path_to_directory) ja sen kaikista alihakemistoista (-r tarkoittaa rekursiivista hakua) tiedostoja, jotka sisältävät tietyn tekstimerkkijonon, käytä seuraavaa komentoa: &lt;code&gt;grep -r &amp;quot;tekstimerkkijono&amp;quot; hakemistopolku&lt;/code&gt;Myös erittäin hyödyllistä on ohjata toisen prosessin tuloste grep-komentoon putkella. Esimerkiksi haluat tietää, onko tietty rpm-paketti asennettu järjestelmääsi, mutta et muista sen tarkkaa nimeä. Siksi et voi käyttää komentoa &amp;ldquo;rpm -q pakettinimi&amp;rdquo;. Tällöin voit pyytää rpm:ltä luettelon kaikista asennetuista paketeista (rpm -qa) ja ohjata tämän tulosteen grep-komentoon, jolloin grep etsii pakettinimestä sen osan, jonka muistat:&lt;code&gt;rpm -qa | grep osajono&lt;/code&gt;Esimerkiksi kun paketti modutils-2.4.22-8 on asennettuna, sinun on kysyttävä rpm:ltä:&lt;code&gt;rpm -q modutils TAI rpm -q modutils-2.4.22&lt;/code&gt;, jotta saat vastauksen. Komento &lt;code&gt;rpm -q modutils-2.4&lt;/code&gt; antaisi seuraavan tuloksen: Pakettia modutils-2.4 ei ole asennettu. Jos et siis tiedä paketin tarkkaa nimeä, on turvallisinta etsiä &lt;code&gt;grep&lt;/code&gt;-komennolla &lt;code&gt;rpm&lt;/code&gt;-komennon tulosteesta jotain, jonka muistat tarkalleen.&lt;/p&gt;</description></item><item><title>Rekursiivinen hakutoiminto</title><link>https://jeltsch.org/fi/recursive_grep/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/fi/recursive_grep/</guid><description>&lt;p&gt;grep (kirjainkokoa huomioimatta, rekursiivinen) grep-komennolla ei ole mahdollista tutkia hakemistopuuta rekursiivisesti. Seuraava komento etsii esimerkiksi vain nykyisen hakemiston tiedostoista: &lt;code&gt;grep bacteria *&lt;/code&gt; Jos haluat, että haku ei erota isoja ja pieniä kirjaimia, voit käyttää i-lippua: &lt;code&gt;grep -i bacteria *&lt;/code&gt;Mutta jos haluat tehdä rekursiivisen haun, sinun on käytettävä melko monimutkaista UNIX-komentojen yhdistelmää tämän tavoitteen saavuttamiseksi:&lt;code&gt;find ~/Mail -type f -exec grep 'bacteria' {} \; -print&lt;/code&gt;Tämä komento etsii rekursiivisesti nykyisen käyttäjän Mail-hakemistosta ja tulostaa kaikki rivit, jotka sisältävät sanan bacteria.&lt;/p&gt;</description></item></channel></rss>