IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Пингвинятник (ОС *NIX) (http://www.imho.ws/forumdisplay.php?f=76)
-   -   поиск с заменой по файлам (http://www.imho.ws/showthread.php?t=133823)

DexizeR 16.07.2008 14:18

поиск с заменой по файлам
 
как сделать поиск текста с заменой по файлам в командной строке или на худой конец в MC ?

Plague 16.07.2008 15:35

Цитата:

Сообщение от noname
man find

в следующий раз навешу погон за такое!
либо пиши четко ответ на вопрос, либо лучше ничего
пост удален

SinClaus 16.07.2008 17:19

Цитата:

#!/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
скрипт проходит по ВСЕМ файлам каталога и заменяет первое предложение на второе.

noname 16.07.2008 17:19

каков вопрос такой ответ .....

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 гораздо полезнее .

Hubbitus 18.07.2008 18:07

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

Вам же сказали:
Цитата:

Сообщение от noname (Сообщение 1572745)
man find

Пример:
Код:

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

noname 20.07.2008 00:23

не знал что sed умеет так

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

edit files in place (makes backup if extension supplied)

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

а по ссылке скрипт не отдают -хотят регистрацию

Hubbitus 21.07.2008 00:35

Цитата:

Сообщение от noname (Сообщение 1573774)
спасибо за подсказку .

Да всегда пожалуйста :)

Цитата:

Сообщение от noname (Сообщение 1573774)
а по ссылке скрипт не отдают -хотят регистрацию

Упппс. рошу прощения, намудрил с правами. Сейчас все скачивается.


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

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