Список форумов Шадринский форум -> Отдел игрушек (мягких и твёрдых) -> Операционные системы и сети -> ALT - Linux [как среда программирования]
Начать новую тему   Ответить на тему   вывод темы на печать

ALT - Linux [как среда программирования]

Автор
Сообщение
Brain
Писатель


Пол: Пол:Муж.
Зарегистрирован: 01.12.2004
Сообщения: 357


Статус: Offline
СообщениеДобавлено: 2006.02.09 18:17.32
Ответить с цитатой
andy ice писал(а):
man sed

с английским не очень..
можно пример использования этой функции опяраясь на вышенаписанную задачу?
Посмотреть профиль Отправить личное сообщение
Мишаня_:-)
Запомнил кнопки...


Пол: Пол:Муж.
Зарегистрирован: 12.12.2004
Сообщения: 265


Статус: Offline
СообщениеДобавлено: 2006.02.15 09:00.41
Ответить с цитатой
НАЗВАНИЕ
sed - потоковый редактор (Stream EDitor)

СИНТАКСИС
sed [-n] [-V] [--quiet] [--silent] [--version] [--help]
[-e script] [--expression=script]
[-f script-file] [--file=script-file]
[script-if-no-other-script]
[file...]

ОПИСАНИЕ
Sed это редактор потока. Потоковый редактор используется для выполнения
основных преобразований с текстом на входном потоке (файл или ввод из
конвейера). Тогда как некоторые схожие редакторы (такие как ed)
допускают комплексное редактирование, sed работает совершая лишь одно
действие над вводом за проход и следовательно более эффективен.
Благодаря этому sed в состоянии фильтровать текст в конвейере, что
особо выгодно отличает его от редакторов других типов.

ОПЦИИ
Sed может быть вызван со следующими параметрами командной строки:

-V

--version
Сообщает версию запущенного sed, версию лицензионного
соглашения, под которым он распространяется и завершает работу.

-h

--help Выводит подсказку о способе использования, вкратце сообщает о
параметрах командной строки, с которыми он может быть запущен,
адрес, куда можно сообщить об обнаруженных в работе программы
ошибках, и затем завершает работу.

-n

--quiet

--silent
По умолчанию, sed после прохождения каждого цикла сценария
распечатывает обрабатываемую область шаблона. Эти опции
отключают автоматический вывод, который может быть включен лишь
явным указанием ключа p для sed.

-e сценарий

--expression=сценарий
Добавляет команды в сценарий к набору выполняемых команд при
обработке ввода.

-f сценарий

--file=сценарий
Добавляет команды содержащиеся в сценарии к набору выполняемых
команд при обработке ввода.

Если в командной строке не указан параметр -e, -f, --expressiln или
--file, то первый же заданный в командной строке аргумент не-опция
будет считаться сценарием для выполнения.

Если какие-либо параметры командной строки остаются после
вышеупомянутой обработки, то они интерпретируются как имена входных
файлов подлежащих обработке. Имя файла - соотносится со стандартным
входным потоком. Стандартный ввод обрабатывается в том случае, если
никаких имён файлов не определено.

СИНТАКСИС КОМАНД
Это лишь краткое резюме команд sed, призванное служить подсказкой для
тех, кто уже знаком с sed; для более полного пояснения необходимо
ознакомиться с другой документацией (наподобие документации texinfo).

Безадресные команды
: метка
Метка для b и t команд.

#комментарий
Комментарий простирается до следующего вхождения новой строки
(или до конца фрагмента сценария -e)

} Закрывающая скобка блока { }.

Команды без адреса или с одним адресом
= Распечатать номер текущей строки.

a \

текст Добавить текст, где каждое вхождение новой строки начинается со
знака обратного слэша.

i \

Вставить текст, где каждое вхождение новой строки начинается со знака
обратного слэша.

q Немедленное выход из сценария sed без дальнейшей обработки
любого ввода, за исключением автовывода, если он не отключен. В
этом случае будет распечатан текущий набор шаблонов.

r файл Добавить текст прочитанный из файла.

Команды, которые принимают интервалы адресов
{ Начало блока команд (оканчивается знаком }).

b метка
Переход к метке; если метка опущена, переход) к концу сценария.

t метка
Если s/// сделал успешную замену, так как была прочитана
последняя строка ввода и последняя команда t, то выполнить
переход к метке; если метка опущена, то перейти к концу
сценария.

c \

текст Заместить выбранные строки текстом, где каждое вхождение новой
строки начинается со знака обратного слэша.

d Удалить заданную область шаблона. Начать следующий цикл.

D Удалить до первого вхождения новой строки в области шаблона.
Начать следующий цикл, но пропустить считывание ввода, если там
всё ещё данные из области шаблона.

h H Скопировать/добавить область шаблон к удерживаемой области.

g G Скопировать удерживаемую область к области шаблона.

x Поменять местами удерживаемую область и область шаблона.

l Огласить текущую строку в "визуально однозначной" форме.

n N Прочитать/добавить следующую строку ввода в область шаблона.

p Распечатать текущую область шаблона.

P Распечатать до первого вхождения новой строки текущей области
шаблона.

s/регулярное_выражение/замена/
Попытаться разыскать регулярное_выражение (regexp) в области
шаблона. Если это удалось, то заместить эту часть с заменой.
Замена может содержать специальный символ & для обращения к той
части области шаблона, которая является соответствием, и
специальные управляющие последовательности, от \1 до \9, для
обращения к соответствующим разыскиваемым под-выражениям в
регулярном_выражении.

w файл Записать текущую область шаблона в файл.

y/источник/цель/
Транслитерация символов в области шаблона, которые присутствуют
в источнике с соответствующими символами в цели.

АДРЕСАЦИЯ
Команды sed могут быть заданы без указания адреса, в этом случае
команда выполняется для всех строк ввода; с одним адресом, в этом
случае команда будет выполнена применительно строкам ввода совпадающим
с адресом; или с двумя адресами, в этом случае команда будет выполнена
для всех строк ввода, соответствующих заданному диапазону строк начиная
с первого и заканчивая последним адресами. Три правила, касающиеся этих
диапазонов адресов: используемый синтаксис адрес1,адрес2 (т.е. адреса
разделены через запятую); строка, соответствующая адрес1,
обрабатывается даже в том случае, если адрес2 указывает на
предшествующую ей строку; и если адрес2 является регулярным выражением
(regexp), то оно не будет использовано относительно строки,
соответствующей адрес1.

После адресов (или диапазона адресов) и перед командой может быть
вставлен !, означающий, что команда должна быть выполнена только в том
случае, если адрес (или диапазон адресов) не соответствует.

Поддерживаются следующие типы адресов:

номер Соответствует только заданному номеру линии.

первая~шаг
Соответствует каждой строке шаг начиная от строки первая.
Например, "sed -n 1~2p" напечатает все нечётные строки во
входном потоке и адреса 2~5 будут соответствовать каждой пятой
строке начиная со второй. (Это расширение GNU.)

$ Соответствует последней строке.

/regexp/
Соответствует строкам подпадающим под определение регулярного
выражения regexp.

\cregexpc
Соотвествует строкам подпадающим под определение регулярного
выражения regexp. c может быть любым символом.

РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ
POSIX.2 BRE должны поддерживаться, но всё же не полностью. \n
последовательность в регулярном выражении соответствует символу новой
строки. Есть также некоторые GNU расширения. [XXX FIXME: необходимо
многое сказать. По крайней мере необходимо дать ссылки на другие
документы, которые описывают то, что поддерживается.]

ПРОЧИЕ ПРИМЕЧАНИЯ
Данная версия sed поддерживает последовательность \<новая_строка> во
всех регулярных выражениях, в замещающих частях команд подмены (s) и в
частях источник и цель команд транслитерации (y). \ будет удалено, а
новая строка сохранена.

СМ. ТАКЖЕ
awk(1), ed(1), expr(1), emacs(1), perl(1), tr(1), vi(1), regex(5), [то,
что должно быть написано ... XXX], sed.info, любая из множества книг по
sed, sed FAQ (http://www.dbnet.ece.ntua.gr/~george/sed/sed-faq.html,
http://www.ptug.org/sed/sedfaq.htm).

ОШИБКИ
Сообщения об ошибках направляйте на bug-gnu-utils@gnu.org. Не забудьте
указать где-нибудь в поле "Тема" письма слово "sed".

ОБ АВТОРЕ
Copyright (C) 1998 Free Software Foundation, Inc. Перевод с
английского выполнил Александр Блохин <sass@altlinux.ru>
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Мишаня_:-)
Запомнил кнопки...


Пол: Пол:Муж.
Зарегистрирован: 12.12.2004
Сообщения: 265


Статус: Offline
СообщениеДобавлено: 2006.02.15 09:16.47
Ответить с цитатой
в состав какого пакета входит команда ifconfig и как узнать зависимые пакеты ....
Посмотреть профиль Отправить личное сообщение Отправить e-mail
moishe
Заслуженный писатель


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 1668


Статус: Offline
СообщениеДобавлено: 2006.02.15 11:45.04
Ответить с цитатой
Мишаня_,
man rpm

$ rpm -q -f /sbin/ifconfig
net-tools-x.xx-x
$ rpm -q -R net-tools-x.xx-x
...
...
...
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
Мишаня_:-)
Запомнил кнопки...


Пол: Пол:Муж.
Зарегистрирован: 12.12.2004
Сообщения: 265


Статус: Offline
СообщениеДобавлено: 2006.02.15 15:12.18
Ответить с цитатой
у меня такая проблема, некоторые команды не запускаются, точнее , установлен ifconfig , в консоли набираю ifconfig ругается что типо не нашел такой команды, а она валяется в sbin...как с этим бороться
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Dio
Шаман-заводчанин


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 29757


Статус: Offline
СообщениеДобавлено: 2006.02.15 16:24.11
Ответить с цитатой
Мишаня_, он под рутом запускается Cool
_________________
Йа - водоросль.
Посмотреть профиль Отправить личное сообщение
Мишаня_:-)
Запомнил кнопки...


Пол: Пол:Муж.
Зарегистрирован: 12.12.2004
Сообщения: 265


Статус: Offline
СообщениеДобавлено: 2006.02.15 16:27.11
Ответить с цитатой
Dio писал(а):
Мишаня_, он под рутом запускается Cool

ну дык я и запускаю под рутом, а во вторых если бы я запускал не под рутом то ругалось бы не на то что bash: ifconfig: command not found а на то что я не под рутом....
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Мишаня_:-)
Запомнил кнопки...


Пол: Пол:Муж.
Зарегистрирован: 12.12.2004
Сообщения: 265


Статус: Offline
СообщениеДобавлено: 2006.02.15 16:34.31
Ответить с цитатой
а в моем случае даже заходя не под рутом в каталог sbin и рубя ./ifconfig он запускается....

-rwxr-xr-x 1 root root 54620 Мар 12 2004 ifconfig

как так получилось хз....че то я натворил такого хе хе хе...мне просто жуть интересно как с этим бороться....
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Мишаня_:-)
Запомнил кнопки...


Пол: Пол:Муж.
Зарегистрирован: 12.12.2004
Сообщения: 265


Статус: Offline
СообщениеДобавлено: 2006.02.15 16:36.14
Ответить с цитатой
наверное че нить bash на меня обиделся...надо счас че нить в конфиге поковыряться...
Посмотреть профиль Отправить личное сообщение Отправить e-mail
xdsl
просто хороший человек


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 1252
Откуда: shadrinsk

Статус: Offline
СообщениеДобавлено: 2006.02.19 16:46.19
Ответить с цитатой
Под рутом, как я понимаю, заходим через su? Похоже через просто su, а не su - . Получается, что все переменные окружения остаются юзеровские, а не рутовые. Лечение - запускать su -

Если ошибка не в этом, то возможно ковырялись в путях (переменной PATH) и вырезали оттуда /sbin.
Проверка: set | grep ^PATH=
Если в путях нет /sbin, добавить его туда

Кстати, ifconfig запускается и от юзера (в информационном режиме). Это не ошибка, юзер должен знать свою сетевуху Podmigivanie
Посмотреть профиль Отправить личное сообщение
Мишаня_:-)
Запомнил кнопки...


Пол: Пол:Муж.
Зарегистрирован: 12.12.2004
Сообщения: 265


Статус: Offline
СообщениеДобавлено: 2006.02.19 16:58.19
Ответить с цитатой
Embarassed
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Страница 2 из 2
Начать новую тему   Ответить на тему   вывод темы на печать
На страницу Пред.  1, 2
Показать сообщения:   
Список форумов Шадринский форум -> Отдел игрушек (мягких и твёрдых) -> Операционные системы и сети -> ALT - Linux [как среда программирования]

 
Перейти: 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы можете скачивать файлы