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 Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Ошибка в выходе из Perl скрипта namishtiwari Shell программирование и сценарии 2 06-15-2009 05:02 AM
Тр команда неправильно предоставления выходных Уша РАО Shell программирование и сценарии 8 05-08-2009 07:13 AM
Сортировать команда неправильно предоставления выходных Уша РАО Shell программирование и сценарии 8 04-07-2009 08:54 AM
Perl скриптов вопрос. Что я делаю неправильно? SkySmart Shell программирование и сценарии 14 03-19-2009 05:22 PM
Печать на Савин - Объем производства неправильно h1timmboy AIX 2 02-28-2006 09:19 AM

Reply
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 07-02-2009
namishtiwari namishtiwari is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: август 2007
Место проведения: Бангалор
Сообщений: 377
неправильный вывод в Perl-скрипт

Привет,

Вот мой кусок кода --

Код:
#!/usr/bin/perl

my $Time_Stamp ;
my $User_Name;
my $Success;
my $Failure;
my $ErrorCode;
my $ErrorMsg;
my $logDir = $ARGV[0]; 
my $logPrefix = $ARGV[1]; 

die "usage: $0 <logDir> <logPrefix>" unless $logDir and $logPrefix;  
die "Log dir $logDir doesn't exist" unless -d "$logDir";  
for my $logFile ( glob("$logDir/${logPrefix}*") ) 
{ 
	open($log, "<", $logFile) or die "Can't open $logFile for reading.";
	open(FP_OUT,">temp12") or die "cannot create file temp1 for writing";
	print "Processing file $logFile...\n";
	

	OUTER: while( $line = <$log> )
	{

		 chomp($line);
		 if ($line =~ /^(.*)INFO:.*QNA Step - AUTH IN PROGRESS/) 
		 {
				$Time_Stamp = $1;
				printf FP_OUT "$Time_Stamp,";
				QnA_search_for_sucess_or_failure() ;
				#QnA_search_for_userID() ;
				next OUTER;

		 }

	 }
}

 


sub QnA_search_for_sucess_or_failure
 
{
OUTER1: while ( $line = <$log> )

{
	  if ($line =~ /QNA Auth.*Success\s*and\s*Complete/)

	   {
				printf FP_OUT "Success,";
				print STDOUT  "In Success,\n";
				$ErrorMsg="null";
				while ( $line = <$log> )
				{
					 if ($line =~ /ArAuthFrameworkImpl::doPostAuth.*Authentication\s*mechanism\s*returned\s*\[(..*)\]\s*for\s*AuthIdentity\s*\[(..*)\]/)

						 {
							   print "$2\n";
							  printf FP_OUT "$2, ${1}, $ErrorMsg\n";
							  last OUTER1;

						 }
				 }
				 
	   }
	   if($line =~ /Message.*QNA\s*Auth\s*Failed\((..*)\).*/)
	   {
				 $ErrorMsg=$1;
				 printf FP_OUT  "Failure,";
				 print STDOUT  "In Failure,\n";
				 while ( $line = <$log> )
					  {
						 if ($line =~ /ArAuthFrameworkImpl::doPostAuth.*Authentication\s*mechanism\s*returned\s*\[(..*)\]\s*for\s*AuthIdentity\s*\[(..*)\]/)

						  {
							  
							  print "$2\n";
							  printf FP_OUT "$2, ${1}, $ErrorMsg\n";
							  last OUTER1;
						  }

					  }

				 
	   }
	  }
	  
}
Ниже фрагмент взят из logfile.I ч. помощью петель, а потому, что Есть много строк выше и inbetween этот фрагмент.
Код:
Tue May 19 22:55:13.649 2009 Morocco Standard Time INFO:    pid 2172 tid 3412: 160: 10083504: QNA Step - AUTH IN PROGRESS
Tue May 19 22:55:13.649 2009 Morocco Standard Time INFO:    pid 2172 tid 3412: 160: 10083504: QNA Auth - Success and Complete, Returning SUCCESS
Tue May 19 22:55:13.665 2009 Morocco Standard Time INFO:    pid 2172 tid 3412: 17: 10083504: ArAuthFrameworkImpl::doPostAuth::1:10083487:: Authentication mechanism returned [0] for AuthIdentity [12345]


and for QnA failure the line comes like this in place of success line--
Tue May 19 22:56:21.962 2009 Morocco Standard Time INFO:    pid 2172 tid 688: 160: 10083554: Err[115261735], Message: QNA Auth Failed(Invalid Credentials), Repeating the challenge and Returning FAILED
Когда я вел программу, как это --
Код:
C:\Perl Script>perl  QnA_Authentication.pl . logfile.txt
Processing file ./logfile.txt...
In Success,
01503164
In Success,
01822755
In Failure,
01401058
Processing file ./logfile.txt.bak...
а в выходной файл, который temp12, это не что-либо печати.
Просьба предложить ВАЗ неправильно здесь.
Old 07-03-2009
otheus's Avatar
otheus otheus is offline Forum Staff  
Модератор Ала режим
  
 

Регистрация: Февраль 2007
Место проведения: Инсбрук, Австрия
Сообщений: 1884
Вы должны очистить выходных время от времени.

выберите FP_OUT; $ | \u003d 1; выберите STDOUT;
Old 07-03-2009
prasperl prasperl is offline
Зарегистрированный пользователь
  
 

Регистрация: июнь 2009
Сообщений: 22
Похоже, будет прекрасно работать

Я использовал информацию в лог U дали выше.


О / Р

Обработка файла xxxxxxxxxxxxxxxxxxxxxxxxxx / file.txt ...

В успеха,
12345


В temp12,
Tue May 19 22:55:13.649 2009 Марокко поясному времени, успех, 12345, 0, NULL


это то, что вы ожидали?
Reply

Закладки

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

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

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

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




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