The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Помогите с заменой слова в строке..."
Отправлено LSTemp, 30-Июн-12 00:03 
>>> str="${str% *} 1"
>>>
>> как ваша конструкция работает, ибо я 1й раз такое вижу.
>> пс: а как вам  мое решение?
> Оно работает, что главное. С точки зрения простых манипуляций логами - не
> вижу принципиальных отличий между sed и awk.

здесь Вы не правы:

основное преимущество sed, в том, что он ПОСТРОЧНО обрабатывает вход => минимальное потребление ресурсов ОС и независимость от размера входящего потока данных.

основное преимущество awk в том, что его гибкость (читай использование скриптов) позволяет выполнить практически любую операцию над входным потоком данных и включать его в КОНВЕЙЕР. Он в отличие от sed работает не построчно с входящими данными, а с их блоками, что позволяет организовать более тонкую обработку. Но ресурсов ОС жрет тоже не много

sed и awk - это классика.

>[оверквотинг удален]
> Не могу оценивать с точки зрения сложных "рефаторингов" какого либо текста
> или кода. Но, не обладая доскональным пониманием синтаксисов как awk/sed, так
> и текста-цели, страшновато для сложных вещей "изобретать" собственные реализации инструментов
> на базе sed/awk и т.п. Неприятны вероятность ошибки и траты на
> исправления.
> Конструкция ${parameter%pattern} описана в разделе Parameter Expansion из man bash. '%'
> - оператор отрезать суффикс от значения переменной. То что правее '%'
> - шаблон, что подходит под шаблон вырезается. Если % одиночный, цель
> наикратчайшее совпадение. Двойной - самое длинное. '% *' означает последний пробел
> и что правее него.

А тут я с Вами соглашусь. Поскольку задача явно скорее студенческого характера, то большие объемы данных обрабатывать вряд ли придется (sed/awk не нужен). Так что лучше пользоваться нативными средствами шела.

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру