Kirjoittaja Aihe: Hakutoiminnot  (Luettu 3067 kertaa)

Pendeli

  • Käyttäjä
  • Viestejä: 835
    • Profiili
Hakutoiminnot
« : 04.06.15 - klo:17.15 »
Yritän löytää tekstitiedostoa, jossa olevassa tekstissä on tietty nimi tai sana. Tiedoston nimikään ei ole hallussa. Ei onnistu minulta  Catfishin avulla sellainen. (Jos se nyt sillä muutenkaan onnistuu?) Osaisiko joku antaa  neuvoa asiaan?
Xubuntu 14.04.

nm

  • Käyttäjä
  • Viestejä: 16245
    • Profiili
Vs: Hakutoiminnot
« Vastaus #1 : 04.06.15 - klo:17.24 »
Yritän löytää tekstitiedostoa, jossa olevassa tekstissä on tietty nimi tai sana.

Onko kyseessä pelkkä tekstitiedosto (.txt) vai jonkun tekstinkäsittelyohjelman dokumenttitiedosto (.doc, .odt, ...). Jälkimmäiset ovat usein pakattuja tai teksti on katkottu tietorakenteeseen, jolloin haettava merkkijono ei välttämättä suoraan esiinny tiedoston sisällössä.

Ei onnistu minulta  Catfishin avulla sellainen. (Jos se nyt sillä muutenkaan onnistuu?)

Oletko kytkenyt päälle:

hammasrataskuvakke -> Kokotekstihaku

Haussa voi kestää kauan, jos levyllä on paljon dataa, etkä pysty rajaamaan hakua tiettyyn kansiojoukkoon.

Pendeli

  • Käyttäjä
  • Viestejä: 835
    • Profiili
Vs: Hakutoiminnot
« Vastaus #2 : 04.06.15 - klo:18.36 »
Osoittautui, että hakemani tiedosto on koneella olevan Windowsin puolella rtf-muodossa. Testatessani asiaa, en saanut Catfishiä löytämään sitä minkäänlaisilla hakuvaihtoehdoilla.
Onnistuuko se ollenkaan?
Onko olemassa jotain hakumenetelmää, millä Ubuntussa/Xubuntussa pysymällä myös Windowsin tiedostot löytyvät ilman, että buuttaa kokonaan Windowsiin? Terminaalikomentoja tms?

nm

  • Käyttäjä
  • Viestejä: 16245
    • Profiili
Vs: Hakutoiminnot
« Vastaus #3 : 04.06.15 - klo:19.57 »
Pystytkö avaamaan kyseisen tiedoston Ubuntussa, eli onko kyseinen osio liitettynä?

Rajaa testausta varten haku siihen kansioon, jossa tiedosto sijaitsee. Kokeile hakusanoja, joissa ei ole ääkkösiä tai erikoismerkkejä. Latinalaisen aakkoston ja arabialaisten numeroiden ulkopuoliset merkit ovat aina hankalia, koska merkkien koodaus riippuu monesta tekijästä.

Voisit myös avata tiedoston tekstieditorilla (esim. Xubuntun Mousepadilla) ja tutkia, miltä tekstisisältö näyttää tällä tavalla raakamuodossa tarkasteltuna.


Recoll on Catfishia parempi työkalu dokumenttitiedostojen sisältöpohjaiseen hakuun. Asentuu suoraan sovellusvalikoimasta.
Varmista myös, että oleellisten tiedostoformaattien tulkintaan tarvittavat lisäpalikat tulevat asennettua: MS Word: antiword, PDF: poppler-utils, RTF: unrtf

mrl586

  • Käyttäjä
  • Viestejä: 4638
    • Profiili
Vs: Hakutoiminnot
« Vastaus #4 : 04.06.15 - klo:20.00 »
Tällä työkalulla onnistuu dokumenttien hakeminen niiden sisältämän tekstin perusteella.
http://docfetcher.sourceforge.net/en/index.html

2305

  • Käyttäjä
  • Viestejä: 88
    • Profiili
Vs: Hakutoiminnot
« Vastaus #5 : 04.06.15 - klo:20.01 »
Yritän löytää tekstitiedostoa, jossa olevassa tekstissä on tietty nimi tai sana. Tiedoston nimikään ei ole hallussa. Ei onnistu minulta  Catfishin avulla sellainen. (Jos se nyt sillä muutenkaan onnistuu?) Osaisiko joku antaa  neuvoa asiaan?
Xubuntu 14.04.
Esimerkki:
Koodia: [Valitse]
find -iname "*a.txt"Komennolla löytyvät kaikki .txt päätteiset tiedostot, jotka päättyvät a-kirjaimeen. Jos haetaan vaikka .rtf tiedostoja niin komento on
Koodia: [Valitse]
find -iname "*.rtf"

Pendeli

  • Käyttäjä
  • Viestejä: 835
    • Profiili
Vs: Hakutoiminnot
« Vastaus #6 : 05.06.15 - klo:19.36 »
Yritän tässä kommentoida kaikille vastanneille samalla kertaa.

nm: Tiedosto avautuu Xubuntussa ja  näyttää silloin AbiWord -muotoa.
Se on alunperin muistaakseni jo Win95-koneelta olevia peruja. Mutta se ei löydy Catfishillä eikä myöskään Recoll anna mahdollisuutta mennä kyseiseen kansioon.

2305: Komento find -iname "*a.txt" antaa vain ylimmän tason tiedostoja esille, ei yhtään niiden sisällä olevia ollenkaan.
Komento find -iname "*.rtf" sellaisenaan ei anna mitään esille.

mrl586: Docfetcheriä en viitsinyt enää yrittää yllämainittujen ja Searchmonkey-hakukoneiden lisäksi.

Oliskohan niin, että vaikka tiedostot saa auki, niin nuo hakukoneet eivät pysty niitä löytämään Windows-osiolta.

nm

  • Käyttäjä
  • Viestejä: 16245
    • Profiili
Vs: Hakutoiminnot
« Vastaus #7 : 05.06.15 - klo:21.59 »
Yritän tässä kommentoida kaikille vastanneille samalla kertaa.

nm: Tiedosto avautuu Xubuntussa ja  näyttää silloin AbiWord -muotoa.
Se on alunperin muistaakseni jo Win95-koneelta olevia peruja. Mutta se ei löydy Catfishillä eikä myöskään Recoll anna mahdollisuutta mennä kyseiseen kansioon.

Millaisen hakemistopolun päässä tiedosto majailee? Selvitä polku ja katso, pystytkö listaamaan tiedoston päätteessä ls-komennolla. Eli tähän tapaan (polku vedetty hatusta, korvaa oikealla):

Koodia: [Valitse]
ls /media/tunnus/windows-liitos/kansio/

2305: Komento find -iname "*a.txt" antaa vain ylimmän tason tiedostoja esille, ei yhtään niiden sisällä olevia ollenkaan.
Komento find -iname "*.rtf" sellaisenaan ei anna mitään esille.

find hakee tässä vain tiedostonimien perusteella, eikä se muutenkaan tue hakua sisällön perusteella ilman yhdistämistä muihin työkaluihin, kuten grepiin. Lisäksi esimerkkikomennossa ei ole määritelty juuripolkua, jolloin haku kohdistuu vain siihen hakemistoon, jossa olet komentoa antaessasi, eli todennäköisesti listauksessa näkyy vain kotihakemistossasi olevia tiedostoja.

Haun voi kohdistaa tiettyyn polkuun tähän tapaan:

Koodia: [Valitse]
find /media/liitos -iname "*.rtf"
Grepillä voi hakea sisällön perusteella, mutta siihen pätee samat rajoitteet kuin Catfishiin, eli ei käytännössä onnistu jos sisältö on pakattu tai koodattu muuna kuin raakatekstinä.

Koodia: [Valitse]
grep -r /media/liitos "hakuteksti"

Oliskohan niin, että vaikka tiedostot saa auki, niin nuo hakukoneet eivät pysty niitä löytämään Windows-osiolta.

No jotain hämärää siinä liitoksessa on, jos Catfish tai Recoll ei löydä tiedostoa edes nimen perusteella, vaikka ohjaat ne etsimään oikeasta kansiosta? Sisältöpohjaista hakua kannattaa lähteä kokeilemaan sitten, kun tiedosto löytyy muuten. Sinänsä näissä ohjelmissa ei ole rajoituksia Windows-osioiden suhteen, kunhan liitos toimii oikein.

Postimies

  • Käyttäjä
  • Viestejä: 2619
    • Profiili
Vs: Hakutoiminnot
« Vastaus #8 : 03.07.15 - klo:17.57 »
Jos käytät paljon windows-levyä lisää se /etc/fstab tiedostoon.  Locate löytää tiedostoja nopeasti tietokannasta.  locate *.rtf löytää kaikki *.rtf päätteiset tiedostot. updatedb päivittää sen, mutta systeemi tekee sen automaattisesti. grep hakee sitten tiedostojen sisältä kuten jo neuvottu. Siitä on variaatioita esim. zipgrep. En jaksa tarkistaa lisääkö Ubuntussa locate /mnt ja /media kansiot hakuun. Vaihtelee eri systeemeissä.


raimo

  • Käyttäjä
  • Viestejä: 4168
  • openSUSE Tumbleweed
    • Profiili
Vs: Hakutoiminnot
« Vastaus #9 : 03.07.15 - klo:18.12 »
En jaksa tarkistaa lisääkö Ubuntussa locate /mnt ja /media kansiot hakuun. Vaihtelee eri systeemeissä.

/mnt lisäytyy hakuun
/media ei lisäydy

Ja tietenkin /mnt kanssakin pitää liitoksen jälkeen ajaa ensin sudo updatedb

edit:
tutkin vähän lisää ja saa /media :kin lisätyksi hakutietokantaan kun muokkaa tiedostoa /etc/updatedb.conf
PRUNEPATHS= -alkuiselta riviltä kun ottaa /media ilmenemän pois niin sitten haku toimii myös liitetyissä laitteissa, mikä on varsin kätevää.
« Viimeksi muokattu: 03.07.15 - klo:18.45 kirjoittanut raimo »
Tietä käyden tien on vanki. Vapaa on vain umpihanki.
Aaro Hellaakoski

Postimies

  • Käyttäjä
  • Viestejä: 2619
    • Profiili
Vs: Hakutoiminnot
« Vastaus #10 : 03.07.15 - klo:19.54 »
Muistelinkin, että /media on jätetty pois polusta, koska sinne liitetään ulkoiset levyt ym. Jos levyn liittää /mnt tai /home/... alle se on hakupolussa.  Käytän usein locatea esim kuvien haussa - äkkiä löytyy alkuperäinen raw jos jpg versiossa sama nro. Sama musiikissa ym.