Sponsored Content
Top Forums Shell Programming and Scripting Extract multiple occurance of strings between 2 patterns Post 302867359 by Don Cragun on Thursday 24th of October 2013 05:11:07 AM
Old 10-24-2013
To get the other fields (and print the values from each input line on a single output line) try:
Code:
awk -F '[()]' '
{       for(i = 2; i < NF; i += 2)
                printf("%s%s", $i, i == NF - 1 ? "\n" : " ")
}' filename

Note that (even though it doesn't matter with the sample input you provided) you don't want the pipe symbol in the list of characters to be treated as field separators in your -F option option-argument.
This User Gave Thanks to Don Cragun For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

how to extract multiple strings from a line

Hi I have the following requirement. i have the following line from a log file one : two : Three : four : five : six : seven : eight :nine :ten Now can you pls help what i should do to get only the following output from the above line two : five : six : seven : Eight appreciate your... (3 Replies)
Discussion started by: vin_eme
3 Replies

2. Shell Programming and Scripting

Count occurance of multiple strings using grep command

How to grep multiple string occurance in input file using single grep command? I have below input file with many IDP, RRBE messages. Out put should have count of each messages. I have used below command but it is not working grep -cH "(sent IDP Request)(Recv RRBCSM)" *.txt ... (5 Replies)
Discussion started by: sushmab82
5 Replies

3. Shell Programming and Scripting

extract till occurance of a string

hi , i have an xml that comes in a single, the entire xml file is read as a single line when i open in edit plus or unix. i need to amend the contents of this xml file. below is the extract from the file <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"... (5 Replies)
Discussion started by: sais
5 Replies

4. Shell Programming and Scripting

Extract strings from multiple lines into one file -

input file Desired csv output gc_type, date/time, milli secs af, Mar 17 13:09:04 2011, 144.596 af, Mar 20 00:37:37 2011, 144.242 af, ar 20 21:30:59 2011, 108.518 Hi All, Any help in acheiving the above would be appreciated. I would like to parse through lines within one file and... (5 Replies)
Discussion started by: satish.vampire
5 Replies

5. Shell Programming and Scripting

Extract strings from multiple lines into one csv file

Hi all, Please go through my requirement. I have a log file in the location /opt/WebSphere61/AppServer/profiles/EMQbatchprofile/logs/EMQbatch This file contains the follwing pattern data <af type="tenured" id="42" timestamp="May 14 13:44:13 2011" intervalms="955.624"> <minimum... (8 Replies)
Discussion started by: satish.vampire
8 Replies

6. Shell Programming and Scripting

awk? extract quoted "" strings from multiple lines.

I am trying to extract multiple strings from snmp-mib files like below. ----- $ cat IF-MIB.mib <snip> linkDown NOTIFICATION-TYPE OBJECTS { ifIndex, ifAdminStatus, ifOperStatus } STATUS current DESCRIPTION "A linkDown trap signifies that the SNMP entity, acting in... (5 Replies)
Discussion started by: genzo
5 Replies

7. Shell Programming and Scripting

awk extract strings matching multiple patterns

Hi, I wasn't quite sure how to title this one! Here goes: I have some already partially parsed log files, which I now need to extract info from. Because of the way they are originally and the fact they have been partially processed already, I can't make any assumptions on the number of... (8 Replies)
Discussion started by: chrissycc
8 Replies

8. Shell Programming and Scripting

Extract multiple strings from line

Hello I have an output that has a string between quotes and another between square brackets on the same line. I need to extract these 2 strings Example line Device "nrst3a" attributes=(0x4) RAW SERIAL_NUMBER=SNL2 Output should look like nrst3a VD073AV1443BVW00083 I was trying with sed... (3 Replies)
Discussion started by: bombcan
3 Replies

9. UNIX for Beginners Questions & Answers

Extract only first occurance

Hi All, From the below file. I need to get only the first occurrence and print. I tried to do it in separate grep not coming as expected Original file 11001;1213;304;;;;;;;111020677.64;;;;;;;;;;;;;;;;;;;;;;;;;; 11001;1214;304;;;;;;;102376462.96;;;;;;;;;;;;;;;;;;;;;;;;;;... (5 Replies)
Discussion started by: arunkumar_mca
5 Replies

10. UNIX for Beginners Questions & Answers

Match patterns between two files and extract certain range of strings

Hi, I need help to match patterns from between two different files and extract region of strings. inputfile1.fa >l-WR24-1:1 GCCGGCGTCGCGGTTGCTCGCGCTCTGGGCGCTGGCGGCTGTGGCTCTACCCGGCTCCGG GGCGGAGGGCGACGGCGGGTGGTGAGCGGCCCGGGAGGGGCCGGGCGGTGGGGTCACGTG... (4 Replies)
Discussion started by: bunny_merah19
4 Replies
strextract(1int)														  strextract(1int)

Name
       strextract - batch string extraction

Syntax
       strextract [ -p patternfile ] [ -i ignorefile ] [ -d ] [ source-program...  ]

Description
       The  command extracts text strings from source programs.  This command also writes the string it extracts to a message text file.  The mes-
       sage text file contains the text for each message extracted from your input source program. The command names the file by appending .msg to
       the name of the input source program.

       In  the	source-program argument, you name one or more source programs from which you want messages extracted. The command does not extract
       messages from source programs included using the directive. Therefore, you might want a source program  and  all  the  source  programs	it
       includes on a single command line.

       You  can  create a patterns file (as specified by patternfile ) to control how the command extracts text. The patterns file is divided into
       several sections, each of which is identified by a keyword. The keyword must start at the beginning of a new line, and its first  character
       must  be  a dollar sign ($).  Following the identifier, you specify a number of patterns. Each pattern begins on a new line and follows the
       regular expression syntax you use in the routine. For more information on the patterns file, see the(5int) reference page.

       In addition to the patterns file, you can create a file that indicates strings that ignores.  Each line in this ignore file contains a sin-
       gle string to be ignored that follows the syntax of the routine.

       When you invoke the command, it reads the patterns file and the file that contains strings it ignores.  You can specify a patterns file and
       an ignore file on the command line.  Otherwise, the command matches all strings and uses the default patterns file.

       If finds strings which match the directive in the pattern file, it reports the strings to standard error (stderr.) but does not	write  the
       string to the message file.

       After running you can edit the message text file to remove text strings which do not need translating before running

       It is  recommended that you use command	as a visual front end to the command rather than running directly.

Options
       -i   Ignore  text  strings specified in ignorefile.  By default, the command searches for ignorefile in the current working directory, your
	    home directory, and

	    If you omit the option, recognizes all strings specified in the patterns file.

       -p   Use patternfile to match strings in the input source program. By default, the command searches for the pattern  file  in  the  current
	    working directory, your home directory, and finally

	    If you omit the option, the command uses a default patterns file that is stored in

       -d   Disables warnings of duplicate strings. If you omit the option, prints warnings of duplicate strings in your source program.

Restrictions
       Given the default pattern file, you cannot cause to ignore strings in comments that are longer than one line.

       You can specify only one rewrite string for all classes of pattern matches.

       The command does not extract strings from files include with directive. You must run the commands on these files separately.
       % strextract -p c_patterns prog.c prog2.c
       % vi prog.msg
       % strmerge -p c_patterns prog.c prog2.c
       % gencat prog.cat prog.msf prog2.msf
       % vi nl_prog.c
       % vi nl_prog2.c
       % cc nl_prog.c nl_prog2.c -li

       In this example, the command uses the file to determine which strings to match. The input source programs are named and

       If  you	need  to  remove  any  of the messages or extract one of the created strings, edit the resulting message file, Under no conditions
       should you add to this file. Doing so could result in unpredictable behavior.

       You issue the command to replace the extracted strings with calls to the message catalog.  In response to this command, creates the  source
       message catalogs, and and the output source programs, and

       You must edit and to include the appropriate and function calls.

       The command creates a message catalog and the command creates an executable program.

See Also
       intro(3int), gencat(1int), extract(1int), strmerge(1int), regex(3), catopen(3int), patterns(5int)
       Guide to Developing International Software

																  strextract(1int)
All times are GMT -4. The time now is 09:15 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy