The UNIX and Linux Forums  


Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
Google unix.com



Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Нужна помощь в SED команды (добавить пустую строку BTW каждого блока, порожденного шаблон) frozensmilz Shell программирование и сценарии 2 01-08-2009 12:12 AM
сделать несколько строк, содержащих шаблон в одной строке VTAWKVT Shell программирование и сценарии 13 12-04-2008 06:40 PM
комментарий / удалить определенный шаблон, начиная со второй строки в шаблон соответствия ИМАС Shell программирование и сценарии 4 10-13-2008 03:37 AM
Печать из шаблона в строке FK_Daemon Shell программирование и сценарии 3 11-23-2007 04:27 PM
SED - Заменить линию, которая содержит План соответствие с новой строки kousikan Shell программирование и сценарии 2 03-24-2007 07:24 AM

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 01-05-2009
frozensmilz's Avatar
frozensmilz frozensmilz is offline
Зарегистрированный пользователь
  
 

Регистрация: август 2008
Сообщений: 28
Нужна помощь в SED команду [Печать шаблон + ее соответствие или не соответствие не только]

Здравствуйте, друзья,

Лишь совсем недавно я начала обучения SED одна команда ... Я обнаружил, что SED быстрее в поисках моделей, чем некоторые из моих сценариев, который использует grep, чтобы проверить Патена внутри файла, используя строку поиска на строку метод, который занимает много времени.

Ниже скрипт "strMatch" является одним из них, который я использую для поиска шаблона. После того как картина была отображает структуру И прямой номер или номер строки, в одиночку, как это показано ниже.

> Введите
strMatch Sample.cpp "образец строки"
> Результат
5: ПЛАН СТРУННЫЕ

> Введите
strMatch Sample.cpp "План STRING" 2
> Результат
5

Многие из моих сценарий начал использовать этот сценарий, и зависимость на этот сценарий практически стал таким сложным, что новые сценарии, которые используются strMatch прямо или косвенно для различных целей, является медленным в исполнение. Я заметил, что следующие SED Команда может быть использована для настройки strMatch увеличить скорость поиска ...

SED '/ ШАБЛОН STRING / P' Sample.cpp

Но мне нужно, чтобы получить номер строки, также как и мои предыдущие strMatch .... Есть ли способ печати выходных как ниже

Результат 1 [Номер строки И шаблон]
5 ПЛАН СТРУННЫЕ

Результат 2 [Номер строки, где была найдена схема]
5

Потому что некоторые из моих скриптов использует только эти номера строк ..... Просьба помочь в принятии strMatch сценарий быстро .... целью является strMatch для поиска шаблона и вернуть расположение шаблона или схемы наряду с места ..... Ниже приводится фактический strMatch сценария ...

есть особый случай обращения "включает" ключевое слово ..... Я не смог найти какой-либо альтернативы для "EXEC", чтобы передать содержимое файла с переменными, как таковой (с правильного выравнивания и )..... то, когда я веду поиск по ключевому слову включать ... она EXEC все файлы в папке ....... Я считаю, с SED Команда я обыкновение быть, требующих "EXEC",

Спасибо заранее ...........
-------------------------------------------------- -----------------------

фильтра () (
План \u003d $ 1
строка \u003d $ 2
Для X-линии в $; делать
Флаг \u003d `Эхо $ X | grep-C $ шаблон`

если [$ флаг-экв 1], затем
вернуть $ флаг
еще
вернуться 0
FI
готово
)

# filterKeywords () (

#)


План \u003d $ 2
EXEC <$ 1
# fileCont \u003d `rdfil $ 1`
linCnt \u003d 1

exitCnt \u003d `lincnt $ 1`
CNT \u003d 0
кол \u003d 0
Режим \u003d $ 3
# rdfil $ 1
а читать строки; делать

если [ "$ 2" \u003d\u003d "включить"], затем
quitCon \u003d `Эхо $ LINE | grep-C "//-------------------------"`
если [$ quitCon-экв 1], затем
кол \u003d$(($ рассчитывать + 1))
если [$ кол-экв 2], затем
перерыв
FI
FI
FI

Статус \u003d `Эхо $ LINE | grep-C" $ 2 "`
если [$ статус-экв 1], затем
fflag \u003d `фильтр $ $ схема линии`
wcnt \u003d `Эхо $ fflag | WC-L`
если [$ wcnt \u003d\u003d 1], затем
если [$ exitCnt-GE $ НЦДЗ], затем
если [ "$ режиме"! \u003d "2"], затем
случае $ режиме
"NUM") # номер строки
Эхо $ linCnt
;;

"ФОН") # первого вхождения номер строки
Эхо $ linCnt
выезд
;;

"FOLN") # ВОЗНИКНОВЕНИЕМ ПЕРВОЙ ЛИНИИ
Эхо $ линия
выезд
;;

"Л. Н.") # ТОЛЬКО ЛИНИЯХ
Эхо $ линия
;;

*) # DEFAULT
Эхо $ linCnt: $ линия
;;
esac
# Эхо "Привет"
еще
Эхо $ linCnt
FI
# $ filterKeywords линия
FI
FI
FI
linCnt \u003d$(($ linCnt + 1))

НЦДЗ \u003d$(($ НЦДЗ + 1))
# эхо "---------------------------------------$ НЦДЗ $ exitCnt "
готово

# Эхо "Bye!"
 

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 08:57 AM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0