![]() |
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.
|
|
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 |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
удалить линии между моделями
Привет, я искал в этом форуме в течение всего дня, но не смог найти достаточно кодов, чтобы помочь мне выполнить задачу. Единственный код, что я могу прийти с состоит в следующем:
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_ дифф золотых ворот входы. |
|
||||
|
посмотрите на "Больше UNIX и Linux Темы форума можно найти полезные" окно и посмотреть, если есть аналогичное решение для Вас.
|
|
||||
|
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) Существует одна проблема с этим кодом, который я 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 |
|
||||
|
К сожалению о том, что vgersh99. Я новичок в Linux, и этот форум.
Я просто найти и исправить мою коды. Я изменил шаблон: Код:
awk '/^[1-9]/{ before-=1;after=2; next }
Но я еще очень интересно увидеть, если кто-то лучшее решение, чем это. Я считаю, что это можно сделать с помощью нескольких строк. |
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|