The OpenNET Project / Index page

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

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

"find. Выполнить команду для каждого найденного файла"  +/
Сообщение от Dimka (??) on 03-Фев-10, 18:36 
Коллеги, привет!

Озадачился простой задачей. По крайней мере, я думал, что все должно быть просто. Нужно найти файлы по маске и для них выполнить команду, например, cp. В идеале, конечно, сделать этим файлам cat <файл> | <мой скрипт на Perl>, но сделать это нужно для каждого файла. Но для начала, нужно чтобы хотя бы 'cp' заработало.

Я делаю так:

find /usr/db/mailboxes/example.com/webmaster/.INBOX.Spam_to_learning/ -name "*example.com*" -type f -exec "cp {} /tmp/" \;

А получаю это:
find: cp /usr/db/mailboxes/example.com/webmaster/.INBOX.Spam_to_learning/cur/1265210314.M879578P18259.www.example.com,S=1812:2,S /tmp/: No such file or directory

Если выполнить отдельно cp /usr/db/mailboxes/example.com/webmaster/.INBOX.Spam_to_learning/cur/1265210314.M879578P18259.www.example.com,S=1812:2,S /tmp/ - все получается.

Хелп ми, плиз.
FreeBSD 8.0

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

Оглавление

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


1. "find. Выполнить команду для каждого найденного файла"  +/
Сообщение от Andrey Mitrofanov on 03-Фев-10, 18:53 
>find: cp /usr/db/mailboxes/example.com/webmaster/.INBOX.Spam_to_learning/cur/1265210314.M879578P18259.www.example.com,S=1812:2,S /tmp/: No such file or directory
>FreeBSD 8.0

google.ru + find exec sh freebsd site:opennet.ru/openforum/

Обращать особое внимание на тип шела, тип ОС-а... Копать в сторону экранирования и/или _-exec sh -c '....'_.

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

2. "find. Выполнить команду для каждого найденного файла"  +/
Сообщение от Dimka email(??) on 03-Фев-10, 19:51 
>>find: cp /usr/db/mailboxes/example.com/webmaster/.INBOX.Spam_to_learning/cur/1265210314.M879578P18259.www.example.com,S=1812:2,S /tmp/: No such file or directory
>>FreeBSD 8.0
>
>google.ru + find exec sh freebsd site:opennet.ru/openforum/
>
>Обращать особое внимание на тип шела, тип ОС-а... Копать в сторону экранирования
>и/или _-exec sh -c '....'_.

О спасибо, человечище :-) 'sh -с' решило вопрос. Кто бы мог подумать.

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

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

Индекс форумов | Темы | Пред. тема | След. тема




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

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