![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| Logo |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 694 Регистрация: 22.7.2008 Репутация: 3 Всего: 10 |
Нужно выполнять поиск и замену, с бекапами, в файлах из командной строки. В общем нужно что-то вроде этого http://www.powergrep.com/ только консольное и под *nix.
|
|||
|
||||
| Pfailed |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 22 Всего: 39 |
Все это уже встроено в *nix. Называется bash, sed, grep и при желании заменяется/дополняется perl-ом.
|
|||
|
||||
| Logo |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 694 Регистрация: 22.7.2008 Репутация: 3 Всего: 10 |
Да, но встроенных возможностей часто не хватает. Бекапов нет, вернее есть с ключом i, но не более одного бекапа, и восстановить их автоматом нельзя. Трудно реализовать поиск по списку папок из текстового файла - либо длинная программа с open, либо вызов perl внутри самого однострочника, что тоже неудобно. Наконец, возможности искать файлы по содержанию тоже нет, хотя возможно просто я не нашел.
|
|||
|
||||
| arto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
Трудно реализовать поиск по списку папок из текстового файла - либо длинная программа с open, либо вызов perl внутри самого однострочника, что тоже неудобно. -- ?
Наконец, возможности искать файлы по содержанию тоже нет, хотя возможно просто я не нашел. -- ? |
|||
|
||||
| Logo |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 694 Регистрация: 22.7.2008 Репутация: 3 Всего: 10 |
Как найти файл по содержащемуся в нему тексту? Можно ли сделать тоже самое, если на STDIN подается список файлов, либо файловых шаблонов в которых искать? |
|||
|
||||
| ramus |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 21.2.2008 Репутация: 1 Всего: 1 |
Посмотрите пожалуйста команду UNIX: xargs $ man xargs
$ find <you_DIR_tree> -type f -exec grep -n <finding_text> \; опцию -n для команды grep надо проверять на Вашей версии UNIX (она выводит имя найденного файла). Это сообщение отредактировал(а) ramus - 1.11.2009, 21:37 |
||||
|
|||||
| amg |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 38 Всего: 50 |
Logo, все что Вы хотели в этом посте, крайне просто решается стандартными командами *nix (кроме, может быть, инкрементального бакапа с автоматическим восстановлением, но это специфическая задача, тут, скорее всего, действительно придется писать скрипт или установить какую-нибудь специализированную программу). |
||||
|
|||||
| Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: 5 Всего: 57 |
grep, fgrep и прочее тебе в помощь... Более того, встроенные функции и команды как и на уровне самого никса, так и в самом перле работают гораздо лучше и быстрее чем собственно написные... В конце-концов, если уж так получилось, что функция не выполняет полностью что нужно, в перле можно их еще и переопределять. -------------------- менеджер по кодеврайтингу |
|||
|
||||
| Logo |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 694 Регистрация: 22.7.2008 Репутация: 3 Всего: 10 |
Спасибо, буду плотнее изучать *unix.
Только вот у меня пишет что ключа -a у xargs нет. |
|||
|
||||
| amg |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 38 Всего: 50 |
||||
|
||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
можно написать модуль такой как POSIX и в консоле вызывать в perl иногда нужно сделать не легкие обработки, а в консольных утилитах проблематично, лучше написать скрипт на perl |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |