Sponsored Content
Full Discussion: Print all between 2 strings
Top Forums Shell Programming and Scripting Print all between 2 strings Post 302274941 by soots on Thursday 8th of January 2009 05:34:11 PM
Old 01-08-2009
Did as suggested, used /usr/xpg4/bin/awk. Error messages went away but output did not materialise. The strings I'm using as begin and end placeholders are within a .dat file called machinelog.dat that looks similar to this

6/1/09 23:22:00 Machine1 Initialising : Initialising
6/1/09 23:22:01 Machine1 DEF on : system on
6/1/09 23:22:04 Machine1 ABC on : system on
6/1/09 23:22:05 Machine1 DEF on : system on
6/1/09 23:22:06 Machine1 ABC off : system off
6/1/09 23:22:07 Machine1 DEF off : system off
6/1/09 23:22:22 Machine1 ABC on : system on
6/1/09 23:22:25 Machine1 ABC off : system off
6/1/09 23:22:38 Machine1 ABC on : system on
6/1/09 23:23:07 Machine1 DEF on : system on
6/1/09 23:23:09 Machine1 ABC on : system on
6/1/09 23:23:15 Machine1 DEF on : system on
6/1/09 23:23:16 Machine1 ABC off : system failure
6/1/09 23:23:18 Machine1 DEF off : system off
6/1/09 23:23:22 Machine1 ABC on : system on
6/1/09 23:23:25 Machine1 ABC off : system failure
6/1/09 23:23:38 Machine1 ABC on : system on
6/1/09 23:24:07 Machine1 DEF on : system on

and I was hoping to capture everything between the first ABC on and the last system failure and put it into a new file called machinelogmain.dat, like below:

6/1/09 23:22:04 Machine1 ABC on : system on
6/1/09 23:22:05 Machine1 DEF on : system on
6/1/09 23:22:06 Machine1 ABC off : system off
6/1/09 23:22:07 Machine1 DEF off : system off
6/1/09 23:23:22 Machine1 ABC on : system on
6/1/09 23:23:25 Machine1 ABC off : system off
6/1/09 23:23:38 Machine1 ABC on : system on
6/1/09 23:22:07 Machine1 DEF on : system on
6/1/09 23:22:00 Machine1 ABC on : system on
6/1/09 23:22:01 Machine1 DEF on : system on
6/1/09 23:22:04 Machine1 ABC off : system failure
6/1/09 23:22:07 Machine1 DEF off : system off
6/1/09 23:23:22 Machine1 ABC on : system on
6/1/09 23:23:25 Machine1 ABC off : system failure

I tried to substitute the ABC on/ABC off etc but not much joy! Does your script format still apply or will it require a change?

Thanks for your patience.

Regards soots
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to print only lines in between two strings using awk

Hi, I want to print only lines in between two strings and not the strings using awk. Eg: OUTPUT top 2 bottom 1 left 0 right 0 page 66 END I want to print into a new file only top 2 bottom 1 left 0... (4 Replies)
Discussion started by: jisha
4 Replies

2. Shell Programming and Scripting

Print all the lines between 2 specified strings

Hi All, I have a file in which i want to print all the lines between 2 defined strings. Ex- I have file with data as follows STEP1:- ----- has some 20 -30 lines of data STEP2:- ----- has some 20 -30 lines of data So i want to print those lines between STEP1 & STEP2. (line including STEP1)... (7 Replies)
Discussion started by: digitalrg
7 Replies

3. Shell Programming and Scripting

print specific strings only

Hello, I have a file like this.. 2 168611167 STK39 STK39 --- 27347 "serine threonine kinase 39 (STE20/SPS1 homolog, yeast)" YES SNP_A-2086192 rs16854601 0.001558882 6 13670256 SIRT5 /// RPS4X SIRT5 --- 23408 /// 6191 "sirtuin (silent mating type... (5 Replies)
Discussion started by: genehunter
5 Replies

4. UNIX for Dummies Questions & Answers

Get strings on a file and print

hi all! i have a file like this lea 25 female dave 18 male jake 27 male and i want to have an output file like this my name is lea. i am 25. female my name is dave. i am 18. male my name is jake. i am 27. male thanks! (2 Replies)
Discussion started by: engr.jay
2 Replies

5. Shell Programming and Scripting

[Help me!] print text between two strings

Deal All, I have problem for this: input file : "data.txt" R 240 585694.59946146.8 8.0 239 585694.09946134.3 8.0 238 585693.59946121.8 8.01R 237 585693.09946109.3 8.0 236 585692.59946096.9 8.0 235 585692.19946084.4 8.01R 234 585691.59946071.9 8.0 233 585691.09946059.5 8.0 232... (2 Replies)
Discussion started by: aksin
2 Replies

6. Shell Programming and Scripting

[Help me!] Print text between two strings

Deal All, I have problem for this: input file : "data.txt" R 240 585694.59946146.8 8.0 239 585694.09946134.3 8.0 238 585693.59946121.8 8.01R 237 585693.09946109.3 8.0 236 585692.59946096.9 8.0 235 585692.19946084.4 8.01R 234 585691.59946071.9 8.0 233 585691.09946059.5 8.0 232... (2 Replies)
Discussion started by: aksin
2 Replies

7. Shell Programming and Scripting

How to print few strings in a line?

I have one script which gave final output as the below statment. Successfully added Nomination Petition Manifest to the Content Manager. Now i want a sed statement which will search for this statement in any given file and print only Nomination Petition Manifest. I don't want to hardcore... (13 Replies)
Discussion started by: Vikram_Tanwar12
13 Replies

8. Programming

Print only some strings from an output

Hi, Here is an example: I have a grep line: grep -i -r -H "$WORD" "$DIRECTORY"with an output like this: /media/dir/dir2//dir4/file.txt:/media/dir/dir2/dir3/file_16072008/es6.txt: "content of the file found from grep"/media/dir/dir2/dir3/dir4/file3.txt:/media/dir/dir2/dir3//file.txt:"other... (3 Replies)
Discussion started by: Hornys
3 Replies

9. Shell Programming and Scripting

Print lines between strings like *0123456*

I have a text file contains *02638650* SAMBO 1 Spouse SAMBO FELIX *01591453* MADUAGUGBUO 4 Child3 MADUAGUGBUO JOY *01488523* ANYIAM 1 Spouse ANYIAM FRANCA 2 Child1 ANYIAM GRACE *01647769* EGWUTUOHA 0 Principal ... (6 Replies)
Discussion started by: ktsis
6 Replies

10. Shell Programming and Scripting

Print text between 2 identical strings

hey, i m having a hard time trying to print only the first occurrence between 2 idenicale strings. for the following output: please help me im a noob please im a noob help me noob please help me im a noob please im a noob help me noob (3 Replies)
Discussion started by: boaz733
3 Replies
XSTR(1) 						    BSD General Commands Manual 						   XSTR(1)

NAME
xstr -- extract strings from C programs to implement shared strings SYNOPSIS
xstr [-cv] [-] [file ...] DESCRIPTION
The xstr utility maintains a file strings into which strings in component parts of a large program are hashed. These strings are replaced with references to this common area. This serves to implement shared constant strings, most useful if they are also read-only. The following options are available: - Read from the standard input. -c Extract the strings from the C source file or the standard input (-), replacing string references by expressions of the form (&xstr[number]) for some number. An appropriate declaration of xstr is prepended to the file. The resulting C text is placed in the file x.c, to then be compiled. The strings from this file are placed in the strings data base if they are not there already. Repeated strings and strings which are suffixes of existing strings do not cause changes to the data base. -v Verbose mode. After all components of a large program have been compiled a file xs.c declaring the common xstr space can be created by a command of the form xstr The file xs.c should then be compiled and loaded with the rest of the program. If possible, the array can be made read-only (shared) saving space and swap overhead. The xstr utility can also be used on a single file. A command xstr name creates files x.c and xs.c as before, without using or affecting any strings file in the same directory. It may be useful to run xstr after the C preprocessor if any macro definitions yield strings or if there is conditional code which contains strings which may not, in fact, be needed. An appropriate command sequence for running xstr after the C preprocessor is: cc -E name.c | xstr -c - cc -c x.c mv x.o name.o The xstr utility does not touch the file strings unless new items are added, thus make(1) can avoid remaking xs.o unless truly necessary. FILES
strings data base of strings x.c massaged C source xs.c C source for definition of array xstr /tmp/xs* temporary file when ``xstr name'' does not touch strings SEE ALSO
mkstr(1) HISTORY
The xstr command appeared in 3.0BSD. BUGS
If a string is a suffix of another string in the data base, but the shorter string is seen first by xstr both strings will be placed in the data base, when just placing the longer one there will do. BSD
December 30, 1993 BSD
All times are GMT -4. The time now is 12:59 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy