Nowe posty

Autor Wątek: spacje w nazwie pliku i polecenie find  (Przeczytany 5854 razy)

davido

  • Gość
spacje w nazwie pliku i polecenie find
« dnia: 2010-02-28, 16:23:23 »
To moj pierwszy post na forum wiec witam wszystkich serdecznie.

Nie mam duzego doswiadczenia w pisaniu skryptow wykonujacych operacje na plikach i katalogach i nie moge obejsc jednego problemu.

#!/bin/bash

#wyswietlanie plikow starszych niz 2 tyg

for plik in $(find /home/filmy/ -maxdepth 1 -type f -mtime +14); do
        echo $plik
done
Powiedzmy, że moj przykladowy plik (film) ma nazwe:
/home/filmy/tytul rezyser rokprodukcji.AVI

Skrypt zwraca:
/home/filmy/tytul
rezyser
rokprodukcji.AVI

Jak to naprawic, aby do zmiennej $plik byla dodawana pelna sciezka

jk33

  • Gość
spacje w nazwie pliku i polecenie find
« Odpowiedź #1 dnia: 2010-02-28, 17:41:40 »
Może nie warto robić pętli for?
*jeśli chcesz wyświetlić listę plików, to po prostu wyświetl wynik polecenia find.
*jeśli to echo to tylko przykład i chcesz zrobić coś innego -> opcja -exec

Offline Arkadiusz Bednarczyk

  • Linux.pl
  • Administrator
  • Guru
  • *****
  • Wiadomości: 654
    • Zobacz profil
    • Linux.pl
spacje w nazwie pliku i polecenie find
« Odpowiedź #2 dnia: 2010-02-28, 20:40:20 »
Cytat: davido
Jak to naprawic, aby do zmiennej $plik byla dodawana pelna sciezka
http://www.cyberciti.biz/tips/handling-filenames-with-spaces-in-bash.html
--
pozdrawiam
Arkadiusz Bednarczyk
email/jabber: arek@linux.pl