The UNIX and Linux Forums  


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



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

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
в частности, изменить структуру, начиная со второй строки поиска шаблона ИМАС UNIX для чайников Вопросы И Ответы 1 10-12-2008 02:19 PM
в частности, изменить структуру, начиная со второй строки поиска шаблона ИМАС UNIX для чайников Вопросы И Ответы 2 10-12-2008 12:30 PM
Как можно удалить записи в файле соответствие шаблону? mode09 UNIX для чайников Вопросы И Ответы 2 07-15-2008 02:53 PM
исключить колонн с подходящей строки шаблона greptastic UNIX для чайников Вопросы И Ответы 5 06-30-2008 04:32 AM
План Multile поиск в одной строке, и удалить sasree76 Shell программирование и сценарии 2 04-16-2008 03:12 PM

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 10-12-2008
ИМАС imas is offline
Зарегистрированный пользователь
  
 

Регистрация: Nov 2007
Сообщений: 15
комментарий / удалить определенный шаблон, начиная со второй строки в шаблон соответствия

Привет,

Я файл 1.txt со следующих позиций как показано на рисунке:

0152364 | 134444 | 10.20.30.40 | 015236433
0233654 | 122555 | 10.20.30.50 | 023365433
**
**
**

В файле 2.txt меня есть следующие строки, как показано:

0152364 | 134444 | 10.20.30.40 | 015236433
0233654 | 122555 | 10.20.30.50 | 023365433
0789456 | 332211 | 10.20.30.40 | 078945633
1234567 | 225522 | 10.20.30.50 | 123456733
0321654 | 999999 | 10.20.30.40 | 032165433
0456123 | 777899 | 10.20.30.40 | 045612333
***
***
***

Я хочу взять на IP-адреса столбца из 1.txt и найдите его в 2.txt и замечаний дубликат вход со второго соответствуют шаблону.

то есть, я должен иметь следующие результаты в 2.txt как показано:

0152364 | 134444 | 10.20.30.40 | 015236433
0233654 | 122555 | 10.20.30.50 | 023365433
# 0789456 | 332211 | 10.20.30.40 | 078945633
# 1234567 | 225522 | 10.20.30.50 | 123456733
# 0321654 | 999999 | 10.20.30.40 | 032165433
# 0456123 | 777899 | 10.20.30.40 | 045612333
***
***
***

Ниже приведен сценарий я писал, но он будет комментировать все повторяющиеся записи:

Я в `кота 1.txt | светотеневую D" | "-f3`
делать
Кошка 2.txt |SED "S / ^ \ (.* \ | $ I \ |.*)/#/ G"> tmp.txt
М. В. tmp.txt 2.txt
готово

Может ли кто-то руководство, как мне оставить первый дубликат въезда нетронутыми и комментарии / удалить из второго дублировать запись и так далее.

Пожалуйста, не закрывайте эту нить, если вы не знаете ответа.

Спасибо
IMAS -
Old 10-12-2008
Franklin52 Franklin52 is online now Forum Staff  
Модератор
  
 

Регистрация: Февраль 2007
Сообщения: 4331
Цитата:
Первоначально Послано ИМАС View Post
Пожалуйста, не закрывайте эту нить, если вы не знаете ответа.
Это вопрос работы домой?
Если предположить, что это не так, то, что в реальном мире, проблемы свой вопрос?

Привет
Old 10-13-2008
ИМАС imas is offline
Зарегистрированный пользователь
  
 

Регистрация: Nov 2007
Сообщений: 15
Да ваши предположения верны, и это реальная проблема мира

Что РМКО пытается сделать это, комментируя дубликат Ip нашла в текстовый файл, игнорируя первые случаи, чтобы быть действительным IP для Mac и действительна со второго года, комментируя появление дубликатов КП в начало строки.

файл 1.txt со следующих позиций как показано на рисунке:

0152364 | 134444 | 10.20.30.40 | 015236433
0233654 | 122555 | 10.20.30.50 | 023365433
**
**
**

файл 2.txt со следующих позиций как показано на рисунке:

0152364 | 134444 | 10.20.30.40 | 015236433
0233654 | 122555 | 10.20.30.50 | 023365433
0789456 | 332211 | 10.20.30.40 | 078945633
1234567 | 225522 | 10.20.30.50 | 123456733
0321654 | 999999 | 10.20.30.40 | 032165433
0456123 | 777899 | 10.20.30.40 | 045612333
***
***
***

Мне необходимо иметь следующие результаты в 2.txt как показано:

0152364 | 134444 | 10.20.30.40 | 015236433
0233654 | 122555 | 10.20.30.50 | 023365433
# 0789456 | 332211 | 10.20.30.40 | 078945633
# 1234567 | 225522 | 10.20.30.50 | 123456733
# 0321654 | 999999 | 10.20.30.40 | 032165433
# 0456123 | 777899 | 10.20.30.40 | 045612333
***
***
***

Правильный сценарий я написал это

Я в `кота 1.txt | светотеневую D" | "-f3`
делать
Кошка 2.txt |SED "S / ^ \ (.* \ | $ I \ |.*)/# \ 1 / G"> tmp.txt
М. В. tmp.txt 2.txt
готово

Но выше сценарий будет комментировать все случаи.

Ваша помощь оценили.

Спасибо
IMAS -
Old 10-13-2008
summer_cherry summer_cherry is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Июнь 2007
Месторасположение: Пекин Китай
Сообщения: 1089
AWK:


Код:
nawk 'BEGIN{FS="|"}
{
if(NR==FNR)
	a[$3]=0
else
{
	a[$3]++
	if(a[$3]>=2)
		print "#"$0
	else
		print $0
}
}' 1.txt 2.txt

Old 10-13-2008
ИМАС imas is offline
Зарегистрированный пользователь
  
 

Регистрация: Nov 2007
Сообщений: 15
Привет Summer_Cherry,

Миллион спасибо за предоставленную мне кусок кода, который будет представлять свои замечания, начиная со второго появления соответствует структуре от начала строки.

intelsol2> кота 1.txt
0152364 | 134444 | 10.20.30.40 | 015236433
0233654 | 122555 | 10.20.30.50 | 023365433
intelsol2> кота 2.txt
0152364 | 134444 | 10.20.30.40 | 015236433
0233654 | 122555 | 10.20.30.50 | 023365433
0789456 | 332211 | 10.20.30.40 | 078945633
1234567 | 225522 | 10.20.30.50 | 123456733
0321654 | 999999 | 10.20.30.40 | 032165433
0456123 | 777899 | 10.20.30.40 | 045612333
intelsol2>
nawk 'BEGIN (FS \u003d"|"}
(
если (NR \u003d\u003d ПЧН)
A [$ 3] \u003d 0
еще
(
A [$ 3] + +
если (A [$ 3]> \u003d 2)
Версия для печати "#" $ 0
еще
Версия для печати $ 0
)
) '1.txt 2.txt> 3.txt
intelsol2> кота 3.txt
0152364 | 134444 | 10.20.30.40 | 015236433
0233654 | 122555 | 10.20.30.50 | 023365433
# 0789456 | 332211 | 10.20.30.40 | 078945633
# 1234567 | 225522 | 10.20.30.50 | 123456733
# 0321654 | 999999 | 10.20.30.40 | 032165433
# 0456123 | 777899 | 10.20.30.40 | 045612333
intelsol2>

Кроме того, благодаря большой форум для Unix ребята "вы PPL рок!!"!

Правила посещения, я пытался искать этот код, так как все выходные и пошел через SED Руководство http://www.grymoire.com/Unix/Sed. HTML "югу тема (/ 1, / 2 и т.д. Указание которой возникновение) однако был повезло в попытке всех проб и ошибок, метод.

Также Летние Не могли бы вы объяснить мне код, который вы написали так, что я могу понять его лучше.

Опять же благодаря много, и вы можете закрыть эту ветку.

Спасибо
IMAS -
Closed Thread

Закладки

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

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

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

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




Часовой пояс GMT -4. Текущее время 04:12 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