On Fri, 20.02.2009 18:37:12 , Тихон Тарнавский wrote:
> On Fri, 20.02.2009 18:03:41 , Тихон Тарнавский wrote:
>> Или Вы можете написать достаточно простой конвейер без awk и sed,
>> который из обеих строк '  a   b c' и 'a b  c' вернул бы, скажем,
>> второе поле (b)?
> Т.е. я и сам покажу навскидку даже два варианта:
> echo $(...) | tr -s ' ' | cut -d ' ' -f 2
> set $(...) && echo $2
> Но вот мне не кажется, что какой-то из них менее "чесать правое ухо
> левой пяткой", чем использовать awk-шный print для столь низменных
> задач.
По крайней мере одно ограничение у этих двух вариантов, как и у любых им 
подобных, есть точно: длина строки. Потому gawk в любом случае универсальнее -- 
о чём я и говорил, как о причине такой привычки: позволяет не задумываться о 
том, всегда ли есть пробелы в начале строки, или не всегда; может ли строка 
оказаться слишком длинной, или нет. Экономит мозговые усилия на решение более 
важных и интересных вопросов.

Что же до использования awk как замены всего цикла -- тоже вопрос привычек: в 
командной строке я что-то делаю каждый день по многу раз, потому все 
конструкции уже давно "в пальцы въелись" -- awk же придётся вспоминать, читать 
доки. Т.е. снова экономия времени и мозговых усилий.

А Linux за то и люблю, в частности, что позволяет решить любую задачу 
несколькими (часто -- очень многими) различными способами. Гибкость, и как 
результат -- эффективность.

-- 
С уважением,
Тихон Тарнавский.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Ответить