LINUX.ORG.RU

Серия полезных советов. Текстовые утилиты (textutils)


0

0

Эта серия полезных советов знакомит вас с изобилием программ и методами, облегчающими управление потоком данных, которые вы можете получить, используя эти стандартные текстовые утилиты GNU. Изучив это введение, вы должны уметь использовать утилиты обработки текста, каналы (pipes) и потоки для создания систем для обработки сложных наборов данных. Вы также должны уметь писать специальные несложные скрипты, которые автоматизируют рутинные операции, выполняют быстрое форматирование или другие простые, но ежедневные задачи, которые подпадают под "автоматическую обработку текста".

>>> Подробности

★★★

Проверено: Tima_ ()

Ответ на: комментарий от anonymous

> И почему, интересно, эти нормальные утилиты до сих пор не используются в дистрибутивах

очевидно, ответ нужно искать в исходниках: "Copyright(C) Caldera International". есть мысли? =) (впрочем, если посмотреть логи cvs, то изначально лицензия была совсем другой).

кстати, кто тут говорил о качестве пропетарного софта? с 2005 года эта простая утилитка поддерживает юникод. и только GNU'шники все ниасилят переписать. что не мудренО. gnu'тый tr весит ~1900 строк, в то врем как в heimdal'е всего ~500. )

anonymous
()
Ответ на: комментарий от anonymous

> очевидно, ответ нужно искать в исходниках: "Copyright(C) Caldera International". есть мысли? =)

Если посмотреть в сорсы Linux там этих копирайтов в т.ч. и Caldera полно. Лицензия - типичная лицензия BSDL, поэтому можно по идее забирать любой код под GPL, оставив баннер и копирайт.

> кстати, кто тут говорил о качестве пропетарного софта? с 2005 года эта простая утилитка поддерживает юникод.

Да фигня это все. Качество кода зависит только от прямизны рук разработчиков.

anonymous
()
Ответ на: комментарий от anonymous

Если про grep и проблемы с оптимизацией работы с UTF-8 правда, тогда чего awk парсит одинаково эффективно что в однобайтной, что в многобайтной кодировке?

anonymous
()
Ответ на: комментарий от anonymous

Уверен?

anonymous@textutilsux ~ $ time -p LANG=C awk "/preved/ {print $0}" /dev/shm/linux-2.6.22.tar real 2.09 user 1.95 sys 0.09 anonymous@textutilsux ~ $ time -p LANG=en_US.UTF-8 awk "/preved/ {print $0}" /dev/shm/linux-2.6.22.tar real 11.86 user 11.71 sys 0.09 anonymous@textutilsux ~ $ time -p LANG=C awk "/preved/ {print $0}" /dev/shm/linux-2.6.22.tar real 2.04 user 1.96 sys 0.08 anonymous@textutilsux ~ $ time -p LANG=en_US.UTF-8 awk "/preved/ {print $0}" /dev/shm/linux-2.6.22.tar real 11.68 user 11.57 sys 0.10

anonymous
()
Ответ на: комментарий от anonymous

Уверен?

anonymous@textutilsux ~ $ time -p LANG=C awk "/preved/ {print $0}" /dev/shm/linux-2.6.22.tar
real 2.09
user 1.95
sys 0.09
anonymous@textutilsux ~ $ time -p LANG=en_US.UTF-8 awk "/preved/ {print $0}" /dev/shm/linux-2.6.22.tar
real 11.86
user 11.71
sys 0.09
anonymous@textutilsux ~ $ time -p LANG=C awk "/preved/ {print $0}" /dev/shm/linux-2.6.22.tar
real 2.04
user 1.96
sys 0.08
anonymous@textutilsux ~ $ time -p LANG=en_US.UTF-8 awk "/preved/ {print $0}" /dev/shm/linux-2.6.22.tar
real 11.68
user 11.57
sys 0.10

anonymous
()
Ответ на: комментарий от anonymous

$ locale|head -1 LANG=ru_RU.UTF-8 $ echo ПРЕВЕД|awk "y/ПРЕВЕД/PREVED/" awk: y/ПРЕВЕД/PREVED/ awk: ^ invalid char '�' in expression

anonymous
()
Ответ на: комментарий от anonymous

$ locale|head -1
LANG=ru_RU.UTF-8
$ echo ПРЕВЕД|awk "y/ПРЕВЕД/PREVED/"
awk: y/ПРЕВЕД/PREVED/
awk: ^ invalid char '�' in expression

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.