Re: Нужен ли bash
Dmitry E. Oboukhov -> Konstantin A. Zolotukhin @ Wed, 24 Sep 2008 13:26:14 +0400:
>>>> Очень объемный код получается на bash - хорошо,
>>> то что на баше делается двумя строками на питоне делается несколькими
>>> экранами кода и наоборот
>>> просто у каждого своя ниша
>>>
>> Ни холивара ради, просто интересно на примеры посмотреть. Покажите?
DEO> например файловые операции на шелле всегда делаются проще
DEO> grep bla-bla file.txt|awk bla-bla|filter bla-bla >file2.txt
DEO> если то же делать на языке (не забудем что вызов system это фактически
DEO> вызов shell, и если написать эту же команду на перле через system/open
DEO> то будет нечестно), то будет нечто вроде
DEO> #!perl
DEO> sub filter
DEO> {
DEO> return bla-bla;
DEO> }
DEO> open $file, '<', 'file.txt' or die $!;
DEO> open $file, '>', 'file2.txt' or die $!;
DEO> for (<$file>)
DEO> {
DEO> next unless /bla-bla/; #grep
DEO> s/bla-bla/bla-bla-bla/; #awk
DEO> print $fout filter($_); #filter/out
DEO> }
Это, батенька, очень смотря какие файловые операции. Вот in-place
замену qqq на zzz ты как на шелле будешь делать?
DEO> другой вопрос конечно что возможно на перле можно будет считать
DEO> весь файл в одну переменную и одним регулярником сделать нужный
DEO> перечень действий, однако все равно телодвижений будет много (шелл
DEO> ведь в таких случаях и файловые ошибки проверяет/отрабатывает)
Шелл зато в вышеприведенном случае ошибки грепа и авка не отработает.
--
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru
Пользователь юникса перестаёт быть пользователем юникса если после его
пользования пользованный юникс перестаёт быть юниксом. (с)
Reply to: