The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
find & cp, !*! scripter, 06-Дек-06, 09:49  [смотреть все]
Привет. делаю простенький скрипт: найти все файлы к которым обращались (и создавались) в ноябре месяце (при условии что сегодня 6-е декабря)
$ ls
-rw-rw---- 1 larisa   users 42496 2006-07-04 11:33 Май 2006 ДУ.xls
-rw-rw---- 1 alexandr users 27136 2006-04-28 11:23 Март 2006 ДУ.xls
-rw-rw---- 1 larisa   users 35840 2006-11-29 13:13 Октябрь 2006 ДУ.xls

$ find . -type f -atime -36 -atime +6
./Октябрь 2006 ДУ.xls

находит. однако если я пытаюсь копировать найденное в /var/local/tmp, то вот такие ошибки:

$ find . -type f -atime -36 -atime +6 | xargs cp -p /var/local/tmp
cp: указанная цель `ДУ.xls' не является каталогом

или по другому так:
$ for i in `find . -type f -atime -16 -atime +6`; do cp -p $i /var/local/tmp;done
cp: невозможно выполнить stat для `./Октябрь': No such file or directory
cp: невозможно выполнить stat для `2006': No such file or directory
cp: невозможно выполнить stat для `ДУ.xls': No such file or directory

мне кажется что это проблема в в русских названиях и пробелах в именах файлов.

Как это побороть?

  • find & cp, !*! newser, 10:22 , 06-Дек-06 (1)
    • find & cp, !*! scripter, 11:11 , 06-Дек-06 (2)
      >>Как это побороть?
      >
      >man find и man xargs на предмет кличей -print0 и -0.

      к сожалению, мне не удалось.
      $ find . -type f -atime -36 -atime +6 -print0 | xargs -0 cp - /var/local/tmp
      cp: указанная цель `./Октябрь (ДУ).xls' не является каталогом
      $ find . -type f -atime -36 -atime +6 -print0 | xargs -0 cp /var/local/tmp
      cp: пропуск каталога `/var/local/tmp'

      но удалось вот так:
      $ find . -type f -atime -36 -atime +6 -print0 | cpio -dump /var/local/tmp &>/dev/null

      • find & cp, !*! scripter, 11:13 , 06-Дек-06 (3)
        >но удалось вот так:
        >$ find . -type f -atime -36 -atime +6 -print0 | cpio -dump /var/local/tmp &>/dev/null
        поторопился с выводами, тут копирует только 1-н найденный файл :(

        • find & cp, !*! scripter, 11:15 , 06-Дек-06 (4)
          >>но удалось вот так:
          >>$ find . -type f -atime -36 -atime +6 -print0 | cpio -dump /var/local/tmp &>/dev/null
          > поторопился с выводами, тут копирует только 1-н найденный файл :(

          с -print скопирует как мне нужно :)
          всем спасибо, тема закрыта. (правда с xargs cp так и не удалось победить)

          • find & cp, !*! dem, 11:24 , 06-Дек-06 (5)
            • find & cp, !*! scripter, 11:36 , 06-Дек-06 (6)
              >>>>но удалось вот так:
              >>>>$ find . -type f -atime -36 -atime +6 -print0 | cpio -dump /var/local/tmp &>/dev/null
              >>> поторопился с выводами, тут копирует только 1-н найденный файл :(
              >>
              >>с -print скопирует как мне нужно :)
              >>всем спасибо, тема закрыта. (правда с xargs cp так и не удалось
              >>победить)
              >$ find . -type f -atime -36 -atime +6 -print | xargs -0 cp /var/local/tmp /dev/null
              >и так не работает?

              нет.

              cp: указанная цель `./Октябрь (ДУ).xls\n' не является каталогом


              • find & cp, !*! dem, 12:23 , 06-Дек-06 (7)
                • find & cp, !*! madskull, 12:30 , 06-Дек-06 (8)
          • find & cp, !*! Xela, 18:17 , 12-Дек-06 (9)



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру