Nowe posty

Autor Wątek: Skrypt kopiuje wszystkie *.odt z dysku do katalogu  (Przeczytany 3100 razy)

Angolix

  • Gość
Skrypt kopiuje wszystkie *.odt z dysku do katalogu
« dnia: 2008-10-30, 15:00:18 »
Witam.
Chcę zrobić skrypt a wlasciwie to polecenie, który skopiuje wszystkie pliki *.odt z dysku do jednego katalogu. Wymyslilem tylko jak wyszukac te plik a nie wiem jak polaczyc to z cpi:
locate *.odt

Offline ultr

  • Users
  • Guru
  • *****
  • Wiadomości: 1177
    • Zobacz profil
Skrypt kopiuje wszystkie *.odt z dysku do katalogu
« Odpowiedź #1 dnia: 2008-10-30, 16:27:40 »
Polecenie "locate" używa bazy plików, która nie musi być aktualna (zobacz `man locate`) Być może lepiej użyć "find"?

Co do kopiowania - chyba najprościej:
while read plik; do
  cp -f "$plik" "/katalog/docelowy/"
done < <( locate *.odt )
Przy "find" byłoby łatwiej, bo jest parametr "-exec" (`find --help`, `man find`).

brograf

  • Gość
Skrypt kopiuje wszystkie *.odt z dysku do katalogu
« Odpowiedź #2 dnia: 2008-11-12, 00:55:38 »
poczytaj o find (parametr exec) i rsync (to jeżeli chcesz zachować strukturę katalogów)