TEMP; М.В. Temp $ Y; сделать, и он работал штрафа для поиска и замены строк с названиями т.д. Во всех" />
![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| найти и заменить строку в каталоге файлов | koti_rama | Shell программирование и сценарии | 2 | 05-30-2008 04:48 AM |
| Найти и заменить строку в нескольких файлах | pharos467 | UNIX для чайников Вопросы И Ответы | 2 | 11-05-2007 11:47 PM |
| Поиск и замена в нескольких файлах (Shell скрипт) | jatins_s | Shell программирование и сценарии | 13 | 11-05-2007 02:11 PM |
| Найти и заменить файлы в разных папках | lodey | Shell программирование и сценарии | 6 | 09-28-2007 03:00 AM |
| найти и FTP нескольких файлов в Корна Shell | lambjam | UNIX для чайников Вопросы И Ответы | 2 | 08-13-2007 11:50 PM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
скрипт, чтобы найти и заменить строку в нескольких файлах
Я использовал следующий сценарий
CD путь за год в `Ls *`; делать SED "S / ABCD / DCBA / G" $ Y> TEMP; М.В. Temp $ Y; готово и он работал штрафа для поиска и замены строк с названиями т.д. во всех файлах в данном направлении. Я пытаюсь заменить строку, которая состоит из пути (местоположение файла) говорят вместо ABCD я должен заменить C: / MyDocuments / фотографий D: / mypics / личной, как метасимволы обыкновение быть подвергнуто обыску в Unix этот скрипт не в состоянии заменить строку которого путь в нем. Теперь мои скрипты CD путь за год в `Ls *`; делать SED "S / 'C: / MyDocuments / картинки' / 'D: / mypics / Personal' / G" $ Y> TEMP; М.В. Temp $ Y; готово Я устал дать путь в одиночных и двойных кавычек котировки, но я вижу ошибку SED: Команда искажен: S / 'C: / MyDocuments / картинки' / 'D: / mypics / Personal' / г И все содержимое файлов в путь стираются. Также пробовали с помощью следующих SED -- SED -э "S! ААА! BBB! G" SED \u003d E "S + + AAA BBB + G" как строка в / в файл путь Есть ли какие-либо другим способом решить эту проблему. Спасибо |
|
||||
|
усталый
ниже сценарий направлен на ошибку
SED: Команда искажен: |
|
||||
|
Одноместный котировки стали обычными символами, когда внутри двойных кавычек. Так что вы можете сделать это:
Эхо "это нормально" И это не ошибка или открыть кавычки. Так сдачи одиночные кавычки внутри цитируемый SED-выражение OK, но это не процитировать текст между ними. Код выше, Жан-Пьер выглядит ОК для меня. |
|
||||
|
Теперь он работает, один из _ отсутствует в моей SED команды.
2 Спасибо всем, кто откликнулся |
|
||||
|
Найти и заменить кодирования в Perl
#! / USR / BIN /Perl
Баш # #. / ff.pl - продукты \ / OPT \ / WebSphere5 - початок \ / OPT \ / was6mig \ / WebSphere5 базы Использование файлов:: Найти; Использование Getopt:: Длинная; # $ dmPath \u003d "/ нуль / optcob / cells.dmgr.tmp"; # Изменить Basepath с новыми скопировали WAS5 скопировали месте. $ basePath \u003d "/ opt/IBM/WAS6.1/IBMIHS/CI_CNV_CRD_HTTPServer"; $ dmPath \u003d "/ dm5"; # не беспокоиться об этом basePath $ \u003d "/ app/WebSphere6/profiles"; $ tmpf \u003d "/ TMP / tmpf"; к югу ModFileByRegex ( мое ($ Ток, $ repl, $ Ассоциации планирования семьи Турции, $ PATH) \u003d (@_); моему $ CNT \u003d 0; к югу fwanted ( -М И И $ Файл:: Поиск:: имя \u003d ~ / $ Ассоциации планирования семьи Турции / И И делать ( OPEN (INF, $ Файл:: Поиск:: название) | | умереть "Невозможно открыть $ file:: Поиск:: Имя: $!"; OPEN (TMPF, "> $ tmpf") | | умереть "Невозможно открыть $ tmpf для записи: $!"; моя @ \u003d входной <INF>; моя $ изменений \u003d grep (S / $ Ток / $ repl / G) @ вклада; если ($ изменений> 0) ( закрыть ОЯТ; Версия для печати TMPF @ вклада; закрыть TMPF; Версия для печати "обновление / Сохранение копии файла $:: Поиск:: имя \ N"; $ переименования файлов:: Поиск:: имя файла $:: Поиск:: Имя. ". Org"; распечатать `CP-P $ $ tmpf файла:: Поиск:: имя \ N`; $ НЦДЗ + +; ) ) ) Версия для печати "поиск от $ путь $ Ток в файлы $ Ассоциации планирования семьи Турции \ N"; Найти (\ И fwanted, $ PATH); возвращение ($ НСТ); ) к югу findDirByRegex ( мое ($ Ток, $ repl, $ PATH) \u003d (@_); моему $ CNT \u003d 0; подпункт хотела ( -Д И И $ Файл:: Поиск:: имя \u003d ~ / $ Ток [\ W \ .]*?$/ И И нажимаем @ DIRL, $ Файл:: Поиск:: название; ) Печать "Взгляд на каталоги от $ Путь призвал Tok $ \ N"; Найти (\ И желанной, $ PATH); а ($ _ \u003d @ поп DIRL) ( $ SRC \u003d $ _; S / $ Ток ([\ W \ .]*)?$/$ repl $ 1 /; Версия для печати "Переименовать $ SRC, $ _ \ N"; переименуйте $ SRC, $ _ | | предупреждение "Не удалось переименовать файл последней, пожалуйста"; $ НЦДЗ + +; ) возвращение ($ НСТ); ) optctl% \u003d (); GetOptions (\% optctl ", производство \u003d S", "глинобитная \u003d S", "dmgr", "базовый"); Версия для печати "вариантов: \ N \ N"; печать "продукт системы (исходная система):". $ optctl ( "продукты"). "\ N";; печати "глинобитная системе (системе):". $ optctl ( "початок"). "\ N"; печати "Do развертывания Manager \ N", если ($ optctl ( "dmgr") \u003d\u003d 1); печати "Do Базы WebSphere \ N", если ($ optctl ( "базовый") \u003d\u003d 1); Версия для печати "\ N \ N"; если ($ optctl ( "dmgr") \u003d\u003d 1) ( Версия для печати "Обновление развертывания Менеджер файлов XML \ N"; $ CNT \u003d ModFileByRegex ($ optctl ( "продукты"), $ optctl ( "початок"), ".*", $ dmPath); Версия для печати "$ НЦДЗ XML файлы были обновлены \ N";) если ($ optctl ( "базовый") \u003d\u003d 1) ( Версия для печати "обновление Базы WebSphere XML файлов \ N"; $ CNT \u003d ModFileByRegex ($ optctl ( "продукты"), $ optctl ( "початок"), ".*", $ basePath); Версия для печати "$ НЦДЗ XML файлы были обновлены \ N";) если ($ optctl ( "dmgr") \u003d\u003d 1) ( Версия для печати "Менеджер развертывания обновления базы каталогов Имена \ N"; $ CNT \u003d findDirByRegex ($ optctl ( "продукты"), $ optctl ( "початок"), $ dmPath); Версия для печати "$ НЦДЗ имена обновленный каталог \ N";) если ($ optctl ( "базовый") \u003d\u003d 1) ( Версия для печати "обновления базы каталогов WebSphere Имена \ N"; $ CNT \u003d findDirByRegex ($ optctl ( "продукты"), $ optctl ( "початок"), $ basePath); Версия для печати "$ НЦДЗ имена обновленный каталог \ N";) |
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|