[Boyan] Массовое редактирование
или perl
Типа заменить <HEAD> на <HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">.
Заменять в каком-нибудь продвинутом редакторе.
К примеру Aditor.
Адитор неплох, но как бы в нем сразу открыть сотню файлов?
ctrl+a, перетащить. я штук по 50-60 редактировал, бывало.
Только не уверен, что Aditor 100 файлов осилит.
sed+1
или perl
даже если в лом линукс ставить, маленький цигвинчик установил и пользуешься всеми прелестями терминала в винде без вмваре, который жрет все ресурсы
![](/images/graemlins/smile.gif)
И на наладоннике работает.
СПасибо
ЗЫ А сед - это что?
sed.exe - пишет, что нельзя запустить.
![](/images/graemlins/smile.gif)
sed отвратительный редактор
Ради того, чтобы заработала шняжка на 40 килобайт - ставить дуру на пару сотен мегов? нафик-нафик. Пока предпочитаю держаться поближе к винде.
OFFLINE
[H]
в каком там классе должны арифметику учить?
вы просто не умеете их готовить ©
он уже умеет заменять 'a\nb' => 'c\nd' ?
У меня sed.exe весит 39568 байт.
#!/bin/sed -nf
1h
2,${
H
x
s/a\nb/c\nd/
P
s/^.*\n//
x
}
${x
p
}
не претендую на оптимальность, только что открыл доку
![](/images/icons/grin.gif)
ecли sed, то к нему ещё find нужен
оно там тоже есть
очень удобноможно проще
sed -e '$!N;s/a\nb/c\nd/;P;D'
но не суть
главное в том, что sed предоставляет много возможностей сделать одно и то же - т.е. в конечном итоге все равно добьешься цели, неважно, будет ли это решение красивым или не очень; все зависит от образа мышления
лаконичности можно достигнуть при частом использовании (это относится не только к sed)
offtop:
эта тема, на самом деле, показатель распространенного поведения
для того, чтобы экономить время в последствии, нужно сначала вложить настоящее время, а его жалко
а потом минуты, затраченные на поиски нового решения сходных задач, складываются в часы...
однако их трудно невооруженным взглядом отличить от рабочих минут, и человеку просто кажется, что у него остается мало свободного времени...
для того, чтобы экономить время в последствии, нужно сначала вложить настоящее время, а его жалко"Запомни, птичка: лучше полдня мануал почитать, потом за пять минут скрипт написать". (Почти с)
а потом минуты, затраченные на поиски нового решения сходных задач, складываются в часы...
однако их трудно невооруженным взглядом отличить от рабочих минут, и человеку просто кажется, что у него остается мало свободного времени...
![](/images/graemlins/lol.gif)
![](/images/icons/smile.gif)
Все же я предпочитаю юзать в таких случаях перл, ибо мануал потом все равно забуду, а время жалко.
ЗЫ: впоследствии
объясни такой эффект:
$ echo -ne "a\na\na\n" | sed -e '$!N;s/a/aa/g;P;D'
aa
aaaa
aaaa
P.S.
сам понял уже, ну и жесть
Спасибо, запомню эти магические буковки
да тут ничего магического нет, особенно когда решение дано - достаточно понять идею, ее легко восстановить и видоизменить при надобности
а вот придумать решение иногда бывает непросто, особенно когда имеем дело с несколькими строками, т.к. sed в основном служит для построчной обработки
Все же я предпочитаю юзать в таких случаях перл, ибо мануал потом все равно забуду, а время жалко.
конечно, для сложной обработки лучше юзать перл
но я так понял, что sed позиционируется как очень быстрый редактор (в отличии от перл)
его сила в том, что он заведомо однопроходный, им можно обрабатывать большие объемы на приличной скорости
поэтому, когда решение почти очевидно, стараюсь использовать sed
ЗЫ: впоследствии
благодарю!
ну и жесть
![](/images/graemlins/lol.gif)
конечно, когда a,b,c,d могут совпадать/пересекаться, надо улучшать алгоритм
имхо, на практике такое возникает редко
И опять никто не запостил примера использования новомодного Monad...
ps
result = string.Replace("a", "aa");
find . -name '*.html' -exec \
sed -e 3i'<meta http-equiv="Content-type" content="text/html; charset=windows-1251>' -i '{}' \;
И опять никто не запостил примера использования новомодного Monad...а смысл?
решение будет похоже на решение на перле, по которому вопросов в треде не возникало и который превосходит монизм по многим параметрам (для подобных простых задач)
а смысл?было много шуму про то, как monad (и несколько других шняг, которые уже отменены) изменит мир
решение будет похоже на решение на перле, по которому вопросов в треде не возникало и который превосходит монизм по многим параметрам (для подобных простых задач)теперь в стране мелкомягких скриптовый язык нужен для сложных задач?
было много шуму про то, как monad (и несколько других шняг, которые уже отменены) изменит мир
ну для этого должны пройти годы - монад только вышел, а мир так быстро не меняется
![](/images/graemlins/grin.gif)
теперь в стране мелкомягких скриптовый язык нужен для сложных задач?
да не, я ничего против монад не имею
![](/images/graemlins/wink.gif)
пусть себе пишут чего хотят...
я имел в виду, что у монады нет ощутимых преимуществ перед перлом на простых задачах, одни недостатки
а на сложных (быть может!) перл уступит ООП и прочим современным технологиям
m$, конечно, рассчитывает, что он будет применяться везде
монад только вышел, а мир так быстро не меняетсяну хотя бы несколько форумчан должны были вспомнить про такой рулез без моей провокации?
всё-таки perl несколько чужероден для виндов
ну хотя бы несколько форумчан должны были вспомнить про такой рулез без моей провокации?может быть и вспомнили, но побоялись тухлых помидоров
![](/images/graemlins/grin.gif)
всё-таки perl несколько чужероден для виндовага, как и слово "массовое"
По крайней мере в случае стандартых средств винды.
Оставить комментарий
Lenchans
Есть сайт (ну почти сайт) для просотра на наладоннике. Покетопера если не указано прямо, не выдает в русской кодировке. В списке предпочитаемых русской нет.Соответственно во всех файлах нужно жестко указать "charset=1251" во всех хтмл-ках.
По идее нуно добавить во все файлы строку третьей по счету (может и не третьей, но формат одинаков для всей пачки файлов).
Вопрос - чем? Вроде есть такой софт, но как его звать? Поиск по словам "пакетное изменение" и пр. не помог.
Или как задать в покетопере принудительный русский?
ЗЫ Вынь, если что.