The UNIX and Linux Forums  
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.

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



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

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
удалить две модели, и удалить один шаблон ppat7046 Shell программирование и сценарии 7 04-08-2009 10:19 AM
Удаление линий между двумя моделями без исключения второго шаблона Илья Shell программирование и сценарии 1 11-14-2008 09:53 AM
Grep всех линий между 2 разных моделей gurpreet470 Shell программирование и сценарии 2 11-07-2008 04:45 PM
Получение между линиями последнего появления двух моделей rvz Shell программирование и сценарии 8 08-08-2008 06:32 PM
Как добраться линий между шаблонами? racbern Shell программирование и сценарии 11 04-23-2008 08:28 AM

Closed Thread
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 05-26-2009
shamushamu shamushamu is offline
Зарегистрированный пользователь
  
 

Регистрация: Sep 2008
Сообщений: 21
удалить линии между моделями

Привет, я искал в этом форуме в течение всего дня, но не смог найти достаточно кодов, чтобы помочь мне выполнить задачу. Единственный код, что я могу прийти с состоит в следующем:

SED '/ [0-9] [0-9] /, / [0-9] [0-9] / (/ / P; D;)' inputfile> outputfile

Я хотел бы SED/AWK / grep файл для двух моделей, а затем удалите строки между этими моделями. Пожалуйста, ознакомьтесь с inputfile ниже. Это лишь небольшая часть продолжительного файл. Все жирным шрифтом должны быть исключены.

В данном случае, я хотел бы поискать на первый шаблон [0 0 2], а последняя схема [2433 2433 2], а затем удалить каждую линию между этими моделями, но сохранение линии [ANT_2] выше линии [2433 2433 2] . Кроме того, я хотел бы поискать на первый шаблон [0 0 4], а последняя схема [1 1 2], а затем удалить каждую линию между этими моделями, но сохранение линии [ANT_6] выше линии [1 1 2]. Число линий между этими pattens может различаться. Единственное, что я вижу, что постоянно является [0 0].

Любая помощь или предложения будут с благодарностью.

inputfile
--------
ANT_1
0 0 2 Январь 14 10:11:44 2009
Правило Файл путь: / Главная / ла / _drc_
кордом для ворот районе соотношение> 500
ANT_2
2433 2433 2 14 января 10:13:46 2009
Правило Файл путь: / Главная / ла / _drc_
mt1 до ворот области соотношение> 40
С 1 44
-2109300 -10645700
-2095600 -10645700
-2095600 -10649700
-2088500 -10649700
-2088500 -10655700
-2071900 -10655700
ANT_3
0 0 2 Январь 14 10:13:59 2009
Правило Файл путь: / Главная / ла / _drc_
MT2 дифф ворот входы.
ANT_4
0 0 2 Январь 14 10:14:01 2009
Правило Файл путь: / Главная / ла / _drc_
дифф золотых ворот входы.

ANT_5
0 0 4 Jan 14 10:14:01 2009
Правило Файл путь: / Главная / ла / _drc_
дифф золотых ворот входы.
ANT_6
1 1 2 Январь 14 10:14:01 2009
Правило Файл путь: / Главная / ла / _drc_
дифф золотых ворот входы.
NET_AREA_RATIO_RDBS
0 0 3 Jan 14 10:14:01 2009
ANT2.OUT
ANT3.OUT
ANT4.OUT


Желаемый outputfile
----------------
ANT_2
2433 2433 2 14 января 10:13:46 2009
Правило Файл путь: / Главная / ла / _drc_
mt1 до ворот области соотношение> 40
С 1 44
-2109300 -10645700
-2095600 -10645700
-2095600 -10649700
-2088500 -10649700
-2088500 -10655700
-2071900 -10655700
ANT_6
1 1 2 Январь 14 10:14:01 2009
Правило Файл путь: / Главная / ла / _drc_
дифф золотых ворот входы.
Old 05-26-2009
ghostdog74 ghostdog74 is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Sep 2006
Сообщений: 2538
посмотрите на "Больше UNIX и Linux Темы форума можно найти полезные" окно и посмотреть, если есть аналогичное решение для Вас.
Old 05-28-2009
shamushamu shamushamu is offline
Зарегистрированный пользователь
  
 

Регистрация: Sep 2008
Сообщений: 21
Ghostdog, Im не уверены в том, где больше Unix / Linux форум, потому что я не мог найти его в этом форуме списке.

Я смог получить код с этого форума и применить его к тому, что я делаю. Это не точное, но это близко.


Код
-----
Код:
#!/bin/bash
function drcext
{
# Extract one line above and two lines below a pattern
awk '/[1-9] [1-9] /{ before-=1;after=2; next }
after { after--;next }
{ store[++before]=$0}
END {
for(i=1;i<=before;i++) {
print store[i]
}
}' b > c
diff b c > d
sed -i 's/[0-9]*,[0-9]*[a-z]*[0-9]*/----------------------------------------------------------------/g' d
sed -i 's/< //g' d
# Add a variable content to the beginning of the file
rulepath=`grep Rule d`
sed -i '/Rule/d' d
sed "1i $rulepath" < d > e
}
drcext

Это моя входного файла:

inputfile B
---------
Код:
die1 1000

WARN_1
0 0 2 May 4 16:20:21 2009 
Rule File Pathname: /coms
Rule File Pathname: /home/la/_tij4_drc_
TEOS_CH minimum spacing to VIA_1 is 10.0u, must not overlap
23_K
1 1 2 May 4 16:24:00 2009 
Rule File Pathname: /home/la/_tij4_drc_
TEOS_CH must be enclosed by Metal_3 10um min
p 1 4
CN tmplt c 1 0 0 1 0 0
-1512633 -8706882
-1507100 -8715212
-1507100 -8668836
-1512633 -8677166

Rule File Pathname: /home/la/_tij4_drc_
SU8_chm to Bond Pad min space is 10 um 
45_D2
20 20 2 May 4 16:30:03 2009 
Rule File Pathname: /home/la/_tij4_drc_
SU8_chm to Bond Pad at the end of a row min space is 100 um
e 1 2
CN die1 c 1 0 0 1 0 0
-1366000 -9000000 -1366000 -8991408
-1461658 -9029146 -1457396 -9031988
e 2 2
-1366000 -9000000 -1366000 -8981773
-1457396 -9031988 -1450898 -9034615
e 3 2
-1366000 -8804227 -1366000 -8800000

Rule File Pathname: /home/la/_tij4_drc_
Primer must be enclosed by SU8_prm
AT_1
2 2 2 May 4 16:30:20 2009 
Rule File Pathname: /home/la/_tij4_drc_
target must be covered by (drawn) dso
p 1 36
CN target_bondalign c 1 0 0 1 -1676600 7170000
-24000 0
-23635 -4168

Rule File Pathname: /home/la/_tij4_drc_
SU8_prm must overlap dso over gld_tgt by 3um min
AT_5
2 2 2 May 4 16:30:20 2009 
Rule File Pathname: /home/la/_tij4_drc_
SU8_prm/chm/nzl not allowed over gld_tgt
p 1 36
CN target_bondalign c 1 0 0 1 -1676600 7170000
-24000 0
-23635 -4168
-22553 -8208
-20785 -12000
-18385 -15427

Rule File Pathname: /home/la/_tij4_drc_
contact not allowed in stitch zone
su8_14_26A
55 55 2 May 4 16:30:30 2009 
Rule File Pathname: /home/la/_tij4_drc_
NOZZLE minimum width is 10um (for 14um thick material)
p 1 114
CN resistor_array c 1 0 0 1 0 0
-1052100 -7525307
-1052067 -7525796
-1052066 -7525803
-1051974 -7526268

Это мое имя выходного файла:

outputfile е
-----------
Код:
Rule File Pathname: /home/la/_tij4_drc_
----------------------------------------------------------------
23_K
1 1 2 May 4 16:24:00 2009 
TEOS_CH must be enclosed by Metal_3 10um min
----------------------------------------------------------------
AT_1
2 2 2 May 4 16:30:20 2009 
target must be covered by (drawn) dso
----------------------------------------------------------------
AT_5
2 2 2 May 4 16:30:20 2009 
SU8_prm/chm/nzl not allowed over gld_tgt
----------------------------------------------------------------
su8_14_26A
55 55 2 May 4 16:30:30 2009 
NOZZLE minimum width is 10um (for 14um thick material)
Я не знаю, почему AWK команду удаления строк, которые находятся в поисках схемы [1-9] [1-9]. Первоначально размещения на этот код, чтобы извлечь на одну строку выше, и две строки ниже схема [1-9] [1-9]. Этот код назад. Она удаляет вместо экстракта, поэтому я должен использовать для получения сравнения строк, которые были удалить. Пожалуйста, дайте мне знать, как перекодировать его для извлечения вместо удаления.

Существует одна проблема с этим кодом, который я Dont понимают, что я использую структуры [1-9] [1-9], с тем она не должна быть извлечения строки:

55 55 2 4 мая 16:30:30 2009

Но вот что я хотел. Я также хочу строки:

20 20 2 4 мая 16:30:03 2009

Но она не получила извлечены. Как изменить шаблон / [1-9] [1-9] /, так что он найдет все строки, то есть 55 55 2 20 20 2? Я попробовал различные схемы / [1-9] * [1-9] * / или что-то по этой линии, но она не работает.

Простите за длительный запрос, но сообщить какие-либо будет весьма признателен. Это мой код:

Последний раз редактировалось vgersh99; на 05-28-2009 04:01 PM.. Причина: добавлен код тегов
Биты Награжден / Отнесено на shamushamu этой темы
Свидание Пользователь Комментировать Сумма
05-28-2009 vgersh99 Не Доступно 0
Old 05-28-2009
vgersh99's Avatar
vgersh99 vgersh99 is offline Forum Staff  
Модератор
  
 

Регистрация: Февраль 2005
Место: Boston, MA
Сообщения: 5122
Чтобы сохранить форумов высокого качества для всех пользователей, пожалуйста, время для форматирования ваших сообщений неправильно.

Во-первых, использование Код Теги При публикации каких-либо кода или данных, так что другие образцы могут легко прочитать код. Вы легко можете сделать это, выделив свой код, а затем нажав на # в меню редактирования. (Вы можете также ввести код тегами [код] и [/ код] рукой.)

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

Третий, будьте осторожны, когда вы "вырезать-вставить, редактировать любые нечетные символы и убедитесь, что все ссылки работают собственности.

Спасибо.

В UNIX и Linux Форумы
Old 05-28-2009
shamushamu shamushamu is offline
Зарегистрированный пользователь
  
 

Регистрация: Sep 2008
Сообщений: 21
К сожалению о том, что vgersh99. Я новичок в Linux, и этот форум.

Я просто найти и исправить мою коды. Я изменил шаблон:

Код:
awk '/^[1-9]/{ before-=1;after=2; next }

Но я еще очень интересно увидеть, если кто-то лучшее решение, чем это. Я считаю, что это можно сделать с помощью нескольких строк.
Closed Thread

Закладки

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

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

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

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




Часовой пояс GMT -4. Текущее время 06:04 PM.


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