Sponsored Content
Top Forums Shell Programming and Scripting Parse a string in XML file using shell script Post 302148982 by ayhanne on Tuesday 4th of December 2007 01:05:22 PM
Old 12-04-2007
Parse a string in XML file using shell script

Hi Matrixmadhan,

Sorry for the late reply. I tried the script that you provided. My problem is while it's waiting for a new completed CDR, it continously repeats to process the last completed file that's why on the output file the result of processing of last complete CDR repeated lots of times. What I wanted to do is to process the last completed file, then if there's a new completed CDR, it will process the new CDR and if there's no new completed CDR it will not process. I hope you can help me modify the script. Thanks a lot for being patient with me and for all the help.

Code:
#! /usr/local/bin/perl 

my $c = 0;

open(OUTPUT, ">>", "output.txt");

while (1) {

chomp(@inputfayl = `ls -lrt | awk '/SMSCDR/ { before = curr; curr = \$9 }END{ print before }'`);
   while (<@inputfayl>) {
      if (/CDR/) {
        $inputfayl=$_;
        print OUTPUT "$inputfayl ##########################################################################################\n";
      }
    }
next if ( $inputfayl =~ /tmp/ );
open inputfayl or die "Cannot open file for read :$!";

while(<inputfayl>) {
  chomp;
    my @arr = split(/></);
    foreach (@arr) {
    if( /xml version/ ) {
      $c++;
      print OUTPUT "\n";
    }
    if( />/ && /</ ) {
      if( $c == 1 ) {
        s/(.*)>(.*)<.*$/\1|\2/;
        my($tmp1, $tmp2) = split(/\|/);
        $data .= (" " . $tmp2);
        printf OUTPUT "%s ", $tmp1;
      }
      else {
        s/(.*)>(.*)<.*$/\2/;
        printf OUTPUT "%s ", $_;
      }
    }
  }
  print OUTPUT "\n";
  print OUTPUT "$data\n" if( /xml version/i );
}

close inputfayl;

}

close (OUTPUT);


exit 0;

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Parse String in XML file

Hello All, I am new to this and I need to parse an XML file. Here's the XML Input File: <Report version="1.2"> <summary fatals="0" testcases="1" expected_fails="0" unexpected_passes="0" warnings="9" tests="21" errors="0" fails="1" passes="20" /> <testresult... (4 Replies)
Discussion started by: racbern
4 Replies

2. Shell Programming and Scripting

Need help in creating a Unix Script to parse xml file

Hi All, My requirement is create an unix script to parse the xml file and display the values of the Elements/value between the tags on console. Like say, I would like to fetch the value of errorCode from the below xml which is 'U007' and display it. Can we use SED command for this? I have tried... (10 Replies)
Discussion started by: Anil.Wmg
10 Replies

3. Shell Programming and Scripting

Parse XML file into CSV with shell?

Hi, It's been a few years since college when I did stuff like this all the time. Can someone help me figure out how to best tackle this problem? I need to parse a file full of entries that look like this: <eq action="A" sectyType="0" symbol="PGR" exch="CA" curr="VEF" sess="NORM"... (7 Replies)
Discussion started by: Pcushing
7 Replies

4. Shell Programming and Scripting

regex/shell script to Parse through XML Records

Hi All, I have been working on something that doesn't seem to have a clear regex solution and I just wanted to run it by everyone to see if I could get some insight into the method of solving this problem. I have a flat text file that contains billing records for users, however the records... (5 Replies)
Discussion started by: Jerrad
5 Replies

5. Shell Programming and Scripting

Parse XML file in shell script

Hi Everybody, I have an XML file containing some data and i want to extract it, but the specific issue in my file is that the data is repeated some times like the following example : <section1> <subsection1> X=... Y=... Z=... <\subsection1> <subsection2> X=... Y=... Z=...... (2 Replies)
Discussion started by: yassine
2 Replies

6. Shell Programming and Scripting

Shell script (not Perl) to parse xml with awk

Hi, I have to make an script according to these: - I have couples of files like: xxxxxxxxxxxxx.csv xxxxxxxxxxxxx_desc.xml - every xml file has diferent fields, but keeps this format: ........ <defaultName>2011-02-25T16:43:43.582Z</defaultName> ........... (2 Replies)
Discussion started by: Pluff
2 Replies

7. Shell Programming and Scripting

How to parse xml file in variable-string?

In the wake of the post: how-parse-following-xml-file Thank you for the very useful chakrapani response 302355585-post4 ! A close question. How to pass a file to xmllint in variable? For example, let it be: NEARLY_FILE='<?xml version="1.0" encoding="iso-8859-1"?><html><set label="09/07/29"... (0 Replies)
Discussion started by: OleM2k
0 Replies

8. Shell Programming and Scripting

How to Parse the XML data along with the URL in Shell Script?

Hi, Can anybody help to solve this. I want to parse some xmldata along with the URL in the Shell. I'm calling the URL via the curl command Given below is my shell script file export... (7 Replies)
Discussion started by: Megala
7 Replies

9. Shell Programming and Scripting

Using shell command need to parse multiple nested tag value of a XML file

I have this XML file - <gp> <mms>1110012</mms> <tg>988</tg> <mm>LongTime</mm> <lv> <lkid>StartEle=ONE, Desti = Motion</lkid> <kk>12</kk> </lv> <lv> <lkid>StartEle=ONE, Source = Velocity</lkid> <kk>2</kk> </lv> <lv> ... (3 Replies)
Discussion started by: NeedASolution
3 Replies

10. Shell Programming and Scripting

Parse xml in shell script and extract records with specific condition

Hi I have xml file with multiple records and would like to extract records from xml with specific condition if specific tag is present extract entire row otherwise skip . <logentry revision="21510"> <author>mantest</author> <date>2015-02-27</date> <QC_ID>334566</QC_ID>... (12 Replies)
Discussion started by: madankumar.t@hp
12 Replies
Authen::SASL::Perl::GSSAPI(3)				User Contributed Perl Documentation			     Authen::SASL::Perl::GSSAPI(3)

NAME
Authen::SASL::Perl::GSSAPI - GSSAPI (Kerberosv5) Authentication class SYNOPSIS
use Authen::SASL qw(Perl); $sasl = Authen::SASL->new( mechanism => 'GSSAPI' ); $sasl = Authen::SASL->new( mechanism => 'GSSAPI', callback => { pass => $mycred }); $sasl->client_start( $service, $host ); DESCRIPTION
This method implements the client part of the GSSAPI SASL algorithm, as described in RFC 2222 section 7.2.1 resp. draft-ietf-sasl-gssapi-XX.txt. With a valid Kerberos 5 credentials cache (aka TGT) it allows to connect to service@host given as the first two parameters to Authen::SASL's client_start() method. Alternatively, a GSSAPI::Cred object can be passed in via the Authen::SASL callback hash using the `pass' key. Please note that this module does not currently implement a SASL security layer following authentication. Unless the connection is protected by other means, such as TLS, it will be vulnerable to man-in-the-middle attacks. If security layers are required, then the Authen::SASL::XS GSSAPI module should be used instead. CALLBACK The callbacks used are: authname The authorization identity to be used in SASL exchange gssmech The GSS mechanism to be used in the connection pass The GSS credentials to be used in the connection (optional) EXAMPLE
#! /usr/bin/perl -w use strict; use Net::LDAP 0.33; use Authen::SASL 2.10; # -------- Adjust to your environment -------- my $adhost = 'theserver.bla.net'; my $ldap_base = 'dc=bla,dc=net'; my $ldap_filter = '(&(sAMAccountName=BLAAGROL))'; my $sasl = Authen::SASL->new(mechanism => 'GSSAPI'); my $ldap; eval { $ldap = Net::LDAP->new($adhost, onerror => 'die') or die "Cannot connect to LDAP host '$adhost': '$@'"; $ldap->bind(sasl => $sasl); }; if ($@) { chomp $@; die " Bind error : $@", " Detailed SASL error: ", $sasl->error, " Terminated"; } print " LDAP bind() succeeded, working in authenticated state"; my $mesg = $ldap->search(base => $ldap_base, filter => $ldap_filter); # -------- evaluate $mesg PROPERTIES The properties used are: maxbuf The maximum buffer size for receiving cipher text minssf The minimum SSF value that should be provided by the SASL security layer. The default is 0 maxssf The maximum SSF value that should be provided by the SASL security layer. The default is 2**31 externalssf The SSF value provided by an underlying external security layer. The default is 0 ssf The actual SSF value provided by the SASL security layer after the SASL authentication phase has been completed. This value is read- only and set by the implementation after the SASL authentication phase has been completed. maxout The maximum plaintext buffer size for sending data to the peer. This value is set by the implementation after the SASL authentication phase has been completed and a SASL security layer is in effect. SEE ALSO
Authen::SASL, Authen::SASL::Perl AUTHORS
Written by Simon Wilkinson, with patches and extensions by Achim Grolms and Peter Marschall. Please report any bugs, or post any suggestions, to the perl-ldap mailing list <perl-ldap@perl.org> COPYRIGHT
Copyright (c) 2006 Simon Wilkinson, Achim Grolms and Peter Marschall. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.16.2 2010-03-11 Authen::SASL::Perl::GSSAPI(3)
All times are GMT -4. The time now is 07:22 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy