The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"find & cp"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"find & cp"  
Сообщение от scripter (??) on 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

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

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

  • find & cp, newser, 10:22 , 06-Дек-06, (1)  
    • find & cp, scripter, 11:11 , 06-Дек-06, (2)  
      • find & cp, scripter, 11:13 , 06-Дек-06, (3)  
        • find & cp, scripter, 11:15 , 06-Дек-06, (4)  
          • find & cp, dem, 11:24 , 06-Дек-06, (5)  
            • find & cp, scripter, 11:36 , 06-Дек-06, (6)  
              • find & cp, dem, 12:23 , 06-Дек-06, (7)  
                • find & cp, madskull, 12:30 , 06-Дек-06, (8)  
          • find & cp, Xela, 18:17 , 12-Дек-06, (9)  

Сообщения по теме [Сортировка по времени, UBB]


1. "find & cp"  
Сообщение от newser (??) on 06-Дек-06, 10:22 
>Привет. делаю простенький скрипт: найти все файлы к которым обращались (и создавались)
>в ноябре месяце (при условии что сегодня 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
>
>мне кажется что это проблема в в русских названиях и пробелах в
>именах файлов.
>
>Как это побороть?

man find и man xargs на предмет кличей -print0 и -0.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "find & cp"  
Сообщение от scripter (??) on 06-Дек-06, 11:11 
>>Как это побороть?
>
>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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

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

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "find & cp"  
Сообщение от dem on 06-Дек-06, 11:24 
>>>но удалось вот так:
>>>$ 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
и так не работает?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "find & cp"  
Сообщение от scripter (??) on 06-Дек-06, 11:36 
>>>>но удалось вот так:
>>>>$ 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' не является каталогом


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "find & cp"  
Сообщение от dem on 06-Дек-06, 12:23 
>>>>>но удалось вот так:
>>>>>$ 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' не является каталогом
чёрт возьми, тогда пробуй как описано в man-e, и не парь:
find . -type f -atime -36 -atime +6 -print0 | xargs -0 -J % cp -rp % /var/local/tmp

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "find & cp"  
Сообщение от madskull (ok) on 06-Дек-06, 12:30 
>>cp: указанная цель `./Октябрь (ДУ).xls\n' не является каталогом
>чёрт возьми, тогда пробуй как описано в man-e, и не парь:
>find . -type f -atime -36 -atime +6 -print0 | xargs -0
>-J % cp -rp % /var/local/tmp

Ну или просто
find . -type f -atime -36 -atime +6 | while read i; do cp -p "$i" /var/local/tmp ;done

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "find & cp"  
Сообщение от Xela email(ok) on 12-Дек-06, 18:17 
>>>но удалось вот так:
>>>$ find . -type f -atime -36 -atime +6 -print0 | cpio -dump /var/local/tmp &>/dev/null
>> поторопился с выводами, тут копирует только 1-н найденный файл :(
>
>с -print скопирует как мне нужно :)
>всем спасибо, тема закрыта. (правда с xargs cp так и не удалось
>победить)


xarg условие обязательное? Если нет, то:
find . -type f -atime -36 -atime +6 -exec cp "{}" /var/local/tmp ";"

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




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

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