imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Программы и Операционные системы > Пингвинятник (ОС *NIX)
Опции темы
Старый 16.07.2008, 14:18     # 1
DexizeR
Guest
 
Сообщения: n/a

поиск с заменой по файлам

как сделать поиск текста с заменой по файлам в командной строке или на худой конец в MC ?
 
Старый 16.07.2008, 15:35     # 2
Plague
Administrator
 
Аватар для Plague
 
Регистрация: 06.05.2003
Адрес: Московская Подводная Лодка
Пол: Male
Сообщения: 12 059

Plague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague Демиург
Plague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague Демиург
Цитата:
Сообщение от noname
man find
в следующий раз навешу погон за такое!
либо пиши четко ответ на вопрос, либо лучше ничего
пост удален
__________________
все "спасибы" - в приват и в репутацию! не засоряйте форум!!!!
~~~~~~~~~~~~~~~~~~~~~~

The time has come it is quite clear, our antichrist is almost already here.
M.M.
Plague вне форума  
Старый 16.07.2008, 17:19     # 3
SinClaus
Котозавр
 
Аватар для SinClaus
 
Регистрация: 15.04.2003
Адрес: Russia, Tomsk
Пол: Male
Сообщения: 1 332

SinClaus Отец (мать) всех ГуруSinClaus Отец (мать) всех ГуруSinClaus Отец (мать) всех ГуруSinClaus Отец (мать) всех ГуруSinClaus Отец (мать) всех ГуруSinClaus Отец (мать) всех ГуруSinClaus Отец (мать) всех ГуруSinClaus Отец (мать) всех ГуруSinClaus Отец (мать) всех ГуруSinClaus Отец (мать) всех ГуруSinClaus Отец (мать) всех ГуруSinClaus Отец (мать) всех ГуруSinClaus Отец (мать) всех ГуруSinClaus Отец (мать) всех ГуруSinClaus Отец (мать) всех ГуруSinClaus Отец (мать) всех ГуруSinClaus Отец (мать) всех ГуруSinClaus Отец (мать) всех Гуру
Цитата:
#!/bin/bash
for file in *
do
if [ ! -d $file] then
mv $file $file.1
cat $file.1 | sed 's/"что ищем"/"на что меняем"/' >$file
rm -f $file.1
fi
done
скрипт проходит по ВСЕМ файлам каталога и заменяет первое предложение на второе.
__________________
Паранойю у админов лечить нельзя, надо лишь следить, чтобы развивалась в нужном направлении
SinClaus вне форума  
Старый 16.07.2008, 17:19     # 4
noname
Full Member
 
Аватар для noname
 
Регистрация: 06.03.2003
Адрес: Earth
Сообщения: 761

noname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собой
каков вопрос такой ответ .....

telepathy mode on
<code>
cat replace.sh
#!/bin/bash
tmp=`mktemp`
file=$1
pattern=$2
replace=$3
cat $file | sed "s/$pattern/$replace/"> $tmp
mv $tmp $file
</code>

find test/ -type f -exec ./replace.sh {} TTT XXX \;

где TTT -search pattern XXX -replace text

зы использовать на свой страх и риск .

telepathy mode off

на самом деле man find гораздо полезнее .
__________________
Смерть фашистским оккупантам.
noname вне форума  
Старый 18.07.2008, 18:07     # 5
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Каааак Вы все сложно предлагаете-то, ей-Богу!

Вам же сказали:
Цитата:
Сообщение от noname Посмотреть сообщение
man find
Пример:
Код:
find -type f -exec sed -i 's/что ищем/на что меняем/' {} \;
Find и делает это (прежде всего ищет, замена в файле делается с помощью sed, но это может быть любой удобный инструмент, хоть AWK, хоть PERL, хоть даже PHP. Я для себя писал даже специальный скрипт для расширения подобных возможностей, с сохранением простоты синтаксиса ) рекурсивно и просто по куче критериев отбора (хоть по размеру файла, времени создания или правам доступа и многое, многое другое)
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 20.07.2008, 00:23     # 6
noname
Full Member
 
Аватар для noname
 
Регистрация: 06.03.2003
Адрес: Earth
Сообщения: 761

noname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собой
не знал что sed умеет так

-i [SUFFIX], --in-place[=SUFFIX]

edit files in place (makes backup if extension supplied)

спасибо за подсказку .

а по ссылке скрипт не отдают -хотят регистрацию
__________________
Смерть фашистским оккупантам.
noname вне форума  
Старый 21.07.2008, 00:35     # 7
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
Сообщение от noname Посмотреть сообщение
спасибо за подсказку .
Да всегда пожалуйста

Цитата:
Сообщение от noname Посмотреть сообщение
а по ссылке скрипт не отдают -хотят регистрацию
Упппс. рошу прощения, намудрил с правами. Сейчас все скачивается.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 03:04.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.