TEMP; М.В. Temp $ Y; сделать, и он работал штрафа для поиска и замены строк с названиями т.д. Во всех" /> скрипт, чтобы найти и заменить строку на несколько файлов - UNIX и Linux Форумы
The UNIX and Linux Forums  


Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
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

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 11-05-2007
pharos467 pharos467 is offline
Зарегистрированный пользователь
  
 

Регистрация: Nov 2007
Сообщений: 24
скрипт, чтобы найти и заменить строку в нескольких файлах

Я использовал следующий сценарий


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"

как строка в / в файл путь

Есть ли какие-либо другим способом решить эту проблему.

Спасибо
Old 11-05-2007
aigles's Avatar
aigles aigles is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Apr 2004
Расположение: Бордо, Франция
Сообщения: 1429
Пытаться

Код:
cd pathname
for y in `ls *`;
do 
   sed 's_c:/mydocuments/pictures_d:/mypics/personal_' $y > temp; mv temp $y;
done

Жан-Пьер.

Последний раз редактировалось aigles; на 11-05-2007 03:42 PM.. Основание: SED команды коррекции
Old 11-05-2007
pharos467 pharos467 is offline
Зарегистрированный пользователь
  
 

Регистрация: Nov 2007
Сообщений: 24
усталый

ниже сценарий направлен на ошибку

SED: Команда искажен:
Old 11-05-2007
aigles's Avatar
aigles aigles is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Apr 2004
Расположение: Бордо, Франция
Сообщения: 1429
Был ошибочное / в SED команды.
Предыдущая должность изменены.

Жан-Пьер.
Old 11-05-2007
gus2000 gus2000 is offline
Зарегистрированный пользователь
  
 

Регистрация: Oct 2007
Сообщений: 157
Одноместный котировки стали обычными символами, когда внутри двойных кавычек. Так что вы можете сделать это:

Эхо "это нормально"

И это не ошибка или открыть кавычки. Так сдачи одиночные кавычки внутри цитируемый SED-выражение OK, но это не процитировать текст между ними.

Код выше, Жан-Пьер выглядит ОК для меня.
Old 11-06-2007
pharos467 pharos467 is offline
Зарегистрированный пользователь
  
 

Регистрация: Nov 2007
Сообщений: 24
Теперь он работает, один из _ отсутствует в моей SED команды.

2 Спасибо всем, кто откликнулся
Old 01-15-2009
wlcm232 wlcm232 is offline
Зарегистрированный пользователь
  
 

Регистрация: Январь 2009
Сообщений: 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";)
Closed Thread

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 11:20 AM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0