Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Obecná podpora => Téma založeno: totak 21 Června 2018, 00:01:37
-
Zdravím, asi budu zase za blbce, ale existuje možnost najít jeden konkrétní soubor z výsledkú zachráněných souborů programem testdisk.
Vytáhl jsem ze smazaného disku víc jak 1000 texťáků a hlavička každého z nich samozřejmě neprozradí odkud ho program vytáhnul. Potřebuju vyhledat jeden konkrétní dokument. Znám část textu. existuje šance to dohledat bez toho, že bych otvíral jeden po druhém?
-
Přece nebudeš otvírat tisíc souborů po jednom - a podle zákona schválnosti by to stejně byl až ten poslední... ;)
grep -rwl "string-to-search" "/path/to/search/dir"
nebo
find "/path/to/search/dir" -exec grep -l "string-to-search" {} ;
Oba příkazy vypíší soubory ve kterých se daný textový řetězec (výraz) vyskytuje.
Pokud bys hledal podle více výrazů které soubor obsahuje, použij
grep -rlw -e "string1" -e "string2" -e "string3" "/path/to/search/dir"
------------------------------------------------------------------------------------------------
Některé lepší programy na "záchranu" umí zachovat pův. adresářovou strukturu vč. názvů souborů.
Někdy ale nezbývá než vzít za vděk i soubory bez názvů.....
-
Ok, takže pokud mám ty soubory zachráněných texťáků na flešce kde mi hlavička vypisuje cestu /media/zdenek/78BC-E81C/záloha home/Obrázky
tak zápis pro vyhledání slova znamení by měl být
find "/media/zdenek/78BC-E81C/záloha home/Obrázky/dir" -exec grep -l "znamení" {} ;
nebo ještě musím v té složce navést ke každému souboru recup dir
Co dělám blbě?
Dík za trpělivost , já vím, že jsem co se pochopení zápisů úplně dutej.
-
Pochopitelně - v mém popisu jsou ty cesty uvedeny jen obecně. Znamená to, že zadáš pouze cestu ke složce ve které jsou soubory. (Navádět ke každému souboru extra tedy nemusíš - to by pak celé ztratilo smysl...).
Ve tvém konkrétním případě tedy bude příkaz:
find "/media/zdenek/78BC-E81C/záloha home/Obrázky" -exec grep -l "znamení" {} ;
nebo
grep -rwl "znamení" "/media/zdenek/78BC-E81C/záloha home/Obrázky"
Příkaz vypíše (v Terminálu) všechny soubory ze složky /media/zdenek/78BC-E81C/záloha home/Obrázky ve kterých se daný výraz vyskytuje.
-
Ok
první příkaz hodí chybu
find: u „-exec“ chybí argument
Druhý se rozběhne, ale po vyplivnutí prvního řádku se zavazbí v chybě
chybný vstup/výstup
-
Ok
první příkaz hodí chybu
find: u „-exec“ chybí argument
Druhý se rozběhne, ale po vyplivnutí prvního řádku se zavazbí v chybě
chybný vstup/výstup
To, že soubory "nějak" obnovíš ještě neznamená že nejsou poškozené. Nebo máš zkrátka chybu v syntaxi příkazu (mezera navíc atd.). A co práva přístupu k těm souborům?
-
To jo, já se samozřejmě smířil s tím, že to tam vůbec nemusí být. Fotky které jsem vytáhl přes photorec ale celkem vyšly, poškozených bylo minimum, tak doufám, že bych mohl mít kliku i s texťáky.
Flešku připojím a soubory jsou "normální" ale po spuštění hledání je na nich najednou symbol zámku, takže asi máš pravdu s těmi právy.
A co ta hláška o chybějícím argumentu?
find "/media/zdenek/78BC-E81C/záloha home/Obrázky" -exec grep -l "znamení" {} ;
find: u „-exec“ chybí argument
Edit - tak ne, ten zámek je tam jen když se hledání kousne na vadném souboru.
-
1. Argument je "-l"
2. Nauč se sem vkládat kód, předejde se nedorozumněním....
3. Zkus ještě převzít vlastnictví a práva té složky:
sudo chown -R uživatel:uživatel /cesta/ke/složce
sudo chmod -R 777 /cesta/ke/složce
Potom zkus vyhledat znovu. Pokud hledání narazí na vadný soubor, pak pochopitelně končí....
4. Photorec neslouží pouze na obrázky, ale na záchranu všech typů souborů.
Testdisk = záchrana disků a diskových oddílů
Photorec = záchrana souborů
5. Vždy je lepší mít svoje soubory zálohované, než je pracně (a mnohdy marně) všelijak zachraňovat.
-
Postupně jsem odmazal položky, které program kously a hledání doběhlo. Bohužel bez úspěchu.
Dík za svatou trpělivost.