Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: Menisesk 07 Května 2016, 13:06:32

Název: Příkaz Find a jeho použití na vykopírování
Přispěvatel: Menisesk 07 Května 2016, 13:06:32
Ahoj Ubunťáci,
předem bych vás měl varovat, že jsem linuxový začátečník. Zatím pracuji s Linuxem pouhých 7 měsíců. Taky bych se chtěl omluvit, jestli toto téma bylo probíráno v jiném příspěvku, pokud ano pošlete mi prosím odkaz a já vlákno ihned zruším.

Chtěl bych se zeptat na správné použití příkazu a pokud by to šlo, tak i na jiné způsoby řešení mého problému. Používám Photorec (výborný nástroj) pro obnovu dat. Příkladem můžou být smazané obrázky na SD kartě a podobně. Ovšem spousty obrázků jsou systémových a jako každý bych si chtěl ulehčit práci vykopírováním obrázků s větší velikostí. Také bych chtěl znát úplnou cestu obrázků.

Zatím mě napadlo toto:

# find /home/obnova -size +2k -name "*.jpg" > /cesty_obrazku #cesty obrázků
# cp &(find /home/obnova -size +2k -name "*.jpg") /home/obrazky #vykopírování obrázků

Zatím mě nenapadlo jak to udělat jinak, takže budu velice rád za každou pomoc. Taky bych se chtěl zeptat jestli příkaz find vyhledává rekurzivně a šel by z toho udělat skript?

Děkuji za každou odpověď.
Název: Re:Příkaz Find a jeho použití na vykopírování
Přispěvatel: GdH 07 Května 2016, 16:32:03
Find funguje rekurzivně, můžeš mu ale omezit, jak hluboko může jít. Pomocí přepínače -exec můžeš find nechat spouštět libovolný jiný příkaz pro každý nalezený soubor, nebo pro všechny najednou. Takhle například každý soubor hned zkopíruješ do cílového adresáře:

Kód: [Vybrat]
find ~/obnova -size +2k -name "*.jpg"  -exec cp "{}" ~/obrazky/ \;
Řetězec {} bude nahrazen nalezenou cestou a před \;, který ukončuje příkaz musí být mezera.
Název: Re:Příkaz Find a jeho použití na vykopírování
Přispěvatel: Menisesk 07 Května 2016, 22:41:18
Přesně tohle jsem potřeboval vědět. Moc děkuji za pomoc!!