Sponsored Content
Top Forums Shell Programming and Scripting Parse a string in XML file using shell script Post 302148027 by matrixmadhan on Thursday 29th of November 2007 01:05:16 PM
Old 11-29-2007
So, the design goes like this, the script should process the last but one file which is not a tmp file ( that one that ends with tmp )

so once that is being processed, another tmp file would be created and the script should poll for it and once done it should start processing that

Please correct me if am wrong !

something like might help but it is made such a way to run ever
Code:
open(OUTPUT, ">>", "output.txt");

while (1) {

#Make it as ever running process

$file = `ls -lrt | awk '/SMSCDR/ { before = curr; curr = $9 }END{ print before }'`; 

#select the file which is last but one

next if ( $file =~ /tmp/ );

#if its the 'tmp' file dumper process is still active so don't process it else continue processing

open (FILE, "<", $file) or die  "Unable to open file $file <$!> \n";

#open the file and start processing

while(<FILE>) {
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 (FILE);

#continue with while loop, by this time dumper process might have completed and next file ready for processing
}

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
dtach(1)						      General Commands Manual							  dtach(1)

NAME
dtach - simple program that emulates the detach feature of screen. SYNOPSIS
dtach -a <socket> <options> dtach -A <socket> <options> <command...> dtach -c <socket> <options> <command...> dtach -n <socket> <options> <command...> DESCRIPTION
dtach is a program that emulates the detach feature of screen. It is designed to be transparent and un-intrusive; it avoids interpreting the input and output between attached terminals and the program under its control. Consequently, it works best with full-screen applica- tions such as emacs. dtach is intended for users who want the detach feature of screen without the other overhead of screen. It is tiny, does not use many libraries, and stays out of the way as much as possible. SESSIONS A session in dtach is a single instance in which a program is running under the control of dtach. The program is disassociated from the original terminal, and is thus protected from your original terminal being disconnected for some reason. Other instances of dtach can attach themselves to a particular session. Input and output is copied between the program running in the dtach session, and the attached terminals. dtach avoids interpreting the communication stream between the program and the attached terminals; it instead relies on the ability of the attached terminals to manage the screen. Sessions are represented by Unix-domain sockets in the filesystem. No other permission checking other than the filesystem access checks is performed. dtach creates a master process that monitors the session socket, the program, and any attached terminals. MODES dtach has several modes of operation. It can create a new session in which a program is executed, or it can attach to an existing session. The first argument specifies which mode dtach should operate in. -a Attach to an existing session. dtach attaches itself to the session specified by <socket>. After the attach is completed, the win- dow size of the current terminal is sent to the master process, and a redraw is also requested. -A Attach to an existing session, or create a new one. dtach first tries to attach to the session specified by <socket> if possible. If the attempt to open the socket fails, dtach tries to create a new session before attaching to it. -c Creates a new session. A new session is created in which the specified program is executed. dtach then tries to attach itself to the newly created session. -n Creates a new session, without attaching to it. A new session is created in which the specified program is executed. dtach does not try to attach to the newly created session, however, and exits instead. OPTIONS dtach has a few options that allow you to modify its behavior. Each attaching process can have separate settings for these options, which allows for some flexibility. -e <char> Sets the detach character to <char>. When the detach character is pressed, dtach detaches itself from the current session and exits. The process running in the session is unaffected by the detach. By default, the detach character is set to ^ (Ctrl-). -E Disables the detach character. dtach does not try to scan input from the terminal for a detach character. The only way to detach from the session is then by sending the attaching process an appropriate signal. -r <method> Sets the redraw method to <method>. The valid methods are none, ctrl_l, or winch. none disables redrawing completely, ctrl_l sends a Ctrl L character to the program if the terminal is in character-at-a-time and no- echo mode, and winch forces a WINCH signal to be sent to the program. When creating a new session, the specified method is used as the default redraw method for the session. If not specified, the ctrl_l method is used. -z Disables processing of the suspend key. Normally, dtach will suspend itself when the suspend key is pressed. With this option, the suspend character is sent to the session instead of being handled by dtach. EXAMPLES
The following example creates a new session that has the detach character and suspend processing disabled. A socket is created in the /tmp directory for the session. $ dtach -c /tmp/foozle -Ez bash The following example attaches to the /tmp/foozle session if it exists, and if not, creates a new session using /tmp/foozle as the socket for the session. Processing of the suspend character is also disabled for the attach instance. $ dtach -A /tmp/foozle -z bash The following example attaches to the /tmp/foozle session, using the winch redraw method to redraw the screen. $ dtach -a /tmp/foozle -r winch The following example creates a new session and sets the default redraw method for the session to the winch redraw method. $ dtach -c /tmp/foozle -r winch bash AUTHOR
Ned T. Crigler <crigler@users.sourceforge.net>. SEE ALSO
screen(1) dtach 0.8 Jan 2008 dtach(1)
All times are GMT -4. The time now is 02:47 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy