Sponsored Content
Full Discussion: Extract fragments from file
Top Forums Shell Programming and Scripting Extract fragments from file Post 302894811 by black_fender on Thursday 27th of March 2014 11:20:28 AM
Old 03-27-2014
Quote:
Originally Posted by Subbeh
You can try this in awk:
Code:
awk '/measInfo/ || s {s=s?s"\n"$0:$0} /<\/measInfo>/{if (s ~ /string1/) print s; s=""}' file

It saves the xml block in a variable and prints it when the tag is closed and the string "string1" is found.

Alternatively you can use perl to unset the input record separator and use a multiline regex:
Code:
perl -le 'undef $/; $_=<>; print $1 if /(<measInfo>.*string1.+?<\/measInfo>)/s' file

Superb!
Thank you very much.
 

8 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

fragments in Solaris 8

When discussing inodes and data blocks, I know Solaris creates these data blocks with a total size of 8192b, divided into eight 1024b "fragments." It stores data in "contiguous" fragments and solaris doesn't allow a file to use portions of two different fragments. If the file size permits, then the... (4 Replies)
Discussion started by: manderson19
4 Replies

2. Solaris

ipfilter blocking ip fragments

For some reason ipfilter is blocking inbound fragmented ip packets (the packets are larger than the interface's MTU) that are encapsulating UDP segments. The connection works, so I know ipfilter is letting some traffic through, it is just a lot slower than it should be. Rules that allow the... (3 Replies)
Discussion started by: ilikecows
3 Replies

3. IP Networking

Solaris 11 Express NAT/Router IP Fragments

Upon replacing my linux router/server with a Solaris one I've noticed very poor network performance. The server itself has no issues connecting to the net, but clients using the server as a router are getting a lot of IP fragments as indicated from some packet sniffing I conducted. Here was my... (3 Replies)
Discussion started by: vectox
3 Replies

4. Shell Programming and Scripting

Create shell script to extract unique information from one file to a new file.

Hi to all, I got this content/pattern from file http.log.20110808.gz mail1 httpd: Account Notice: close igchung@abc.com 2011/8/7 7:37:36 0:00:03 0 0 1 mail1 httpd: Account Information: login sastria9@abc.com proxy sid=gFp4DLm5HnU mail1 httpd: Account Notice: close sastria9@abc.com... (16 Replies)
Discussion started by: Mr_47
16 Replies

5. Shell Programming and Scripting

Extract rows from file based on row numbers stored in another file

Hi All, I have a file which is like this: rows.dat 1 2 3 4 5 6 3 4 5 6 7 8 7 8 9 0 4 3 2 3 4 5 6 7 1 2 3 4 5 6 I have another file with numbers like these (numbers.txt): 1 3 4 5 I want to read numbers.txt file line by line. The extract the row from rows.dat based on the... (3 Replies)
Discussion started by: shoaibjameel123
3 Replies

6. Shell Programming and Scripting

How to extract start/end times from log file to CSV file?

Hi, I have a log file (log.txt) that which contains lines of date/time. I need to create a script to extract a CSV file (out.csv) that gets all the sequential times (with only 1 minute difference) together by stating the start time and end time of this period. Sample log file (log.txt) ... (7 Replies)
Discussion started by: Mr.Zizo
7 Replies

7. Shell Programming and Scripting

Extract sentence and its details from a text file based on another file of sentences

Hi I have two text files. The first file is TEXTFILEONE.txt as given below: <Text Text_ID="10155645315851111_10155645333076543" From="460350337461111" Created="2011-03-16T17:05:37+0000" use_count="123">This is the first text</Text> <Text Text_ID="10155645315851111_10155645317023456"... (7 Replies)
Discussion started by: my_Perl
7 Replies

8. Shell Programming and Scripting

Why the results of these two code fragments are not the same?

Code 1: #!/bin/sh for arg1 in "$@" do counter=0 for arg2 in "$@" do if && then counter=$((counter+1)) continue fi (8 Replies)
Discussion started by: johnprogrammer
8 Replies
tr(1)							      General Commands Manual							     tr(1)

Name
       tr - translate characters

Syntax
       tr [-cds] [string1[string2]]

Description
       The  command copies the standard input to the standard output with substitution or deletion of selected characters.  Input characters found
       in string1 are mapped into the corresponding characters of string2.  When string2 is short it is padded to the length of string1 by  dupli-
       cating  its  last character.  Any combination of the options -cds may be used: -c complements the set of characters in string1 with respect
       to the universe of characters whose ASCII codes are 0 through 0377 octal; -d deletes all input  characters  in  string1;  -s  squeezes  all
       strings of repeated output characters that are in string2 to single characters.

       In  either string the notation a-b means a range of characters from a to b in increasing ASCII order.  The backslash character () followed
       by 1, 2 or 3 octal digits stands for the character whose ASCII code is given by those digits.  A  followed by any other  character  stands
       for that character.

       The  following  example creates a list of all the words in `file1' one per line in `file2', where a word is taken to be a maximal string of
       alphabetics.  The second string is quoted to protect  from the Shell.  012 is the ASCII code for newline.
       tr -cs A-Za-z '12' <file1 >file2

Options
       -c   Translates complements:  string1 to those not in string1.

       -d   Deletes all characters in string1 from output.

       -s   Squeezes succession of a character in string1 to one in output.

Restrictions
       `', `0', and `00' are equivalent for NUL character.

       `12' is treated as octal 12 and not a NUL followed by characters 1 and 2.

See Also
       ed(1), ascii(7), expand(1)

																	     tr(1)
All times are GMT -4. The time now is 06:50 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy