I modified your script and ran it again. I have a doubt that it is to do something with my permissions or selinux or something. I created the temp file manually under /tmp but when trying to create it through the script, it gave me an error. As a result, I removed all the substitutions and put in the file names directly, and this time they worked. But this is really stupid and confusing if I cant do that.
Regarding your suggestions, one thing for sure is BEGIN MESSAGE and the END MESSAGE will always occur as a block. No other lines will have the same words again as these are log messages for an application and it is not programmed like that.
OK, great - glad to know you've got a working script now.
On the topic of your own script and the variables not working, I think it's because you've not actually defined the variable you're using.
You seem to have commented out tmp and defined temp instead, but unless you also changed every occurrence of $tmp in the script to $temp (or even better just don't bother defining temp at all and modify the tmp definition instead), then that wouldn't actually work, since you'd be trying to use an un-defined variable.
---------- Post updated at 02:49 PM ---------- Previous update was at 02:45 PM ----------
Also just noticed: you wouldn't want to write:
tmp=`/tmp/script.tmp`
That's using backticks, so again would try to run an external binary or script called /tmp/script.tmp which almost certainly does not exist.
Instead, you don't want backticks here, and just a simple:
Ah, yes. I was meaning without the use of if...grep evaluation rather than case (which for some reason I didn't think to keep with the first time I re-wrote it). Still, one grep is better than three
Location: Saint Paul, MN USA / BSD, CentOS, Debian, OS X, Solaris
Posts: 2,288
Thanks Given: 430
Thanked 480 Times in 395 Posts
Hi.
For comparison, here is a single command of the grep family which extracts bounded blocks containing the required string. It does not use temporary files. Ignoring the scaffolding and supporting code, this is the single command that obtains the results:
Here is the demonstation script and the resulting solution:
which produces:
I have installed cgrep on numerous systems, and, while a c compiler is needed, the compilation is a single step.
I have also benchmarked cgrep and it is as fast (in broad terms) as the fastest grep instances available.
Of course, if you do not wish to obtain and compile the code, or you do not do this kind of task frequently, then you are better off using the other suggestions.
Hello:
Have a very annoying problem:
Need to extract paragraphs with a specific string in them from a very large file
with a repeating record separator.
Example data: a file called test.out
CREATE VIEW view1
AS something
FROM table1 ,table2 as A, table3 (something FROM table4)
FROM... (15 Replies)
I am using OSX. I have a multi-mol2 file (text file with coordinates and info for several molecules). An example of two molecules in the file is given below for molecule1 and molecule 2. The total file contains >50,000 molecules.
I would like to extract out and write to another file only the... (2 Replies)
i'm trying to write a bash script that that will automatically extract zip files after the download.
i writed this script
#!/bin/bash
wget -c https://github.com/RonGokhle/kernel-downloader/zipball/master
CURRENDIR=/home/kernel-downloader
cd $CURRENDIR
rm $CURRENDIR/zipfiles 2>/dev/null
... (2 Replies)
Hi all,
The following lines are taken from a long paragraph:
Labels of output orbitals: RY* RY* RY* RY* RY* RY*
1\1\GINC-COMPUTE-1-3\SP\UB3LYP\6-31G\C2H5Cr1O1(1+,5)\LIUZHEN\19-Jan-20
10\0\\# ub3lyp/6-31G pop=(nbo,savenbo) gfprint\\E101GECP\\1,5\O,0,-1.7
... (1 Reply)
Hello
I am trying to generate a script to run on worldwide firewalls.
I need the spf block for large sites like google, etc so I can essentially whitelist google sites for users.
(Google here is just an example...)
Right now I am just testing Bash oneliners to see how I can isolate the... (1 Reply)
Hi All,
I want to run 5 `ps -ef | grep ` cmds in one script and i want the script to give me return code 0 if everything is OK. If it notices one of the processes is not there, it will prompt me the process name and advice me to check it.
I've wrote a script that separates the output but I want... (2 Replies)
Hi ,
Unix.com has been life saver for me I admit :)
I am trying to extract a paragraph based on matching pattern "CREATE TABLE " from a ddl file . The paragraphs are seperated by blank line .
Input file is
#cat zip.20080604.sql1
CONNECT TO TST103
SET SESSION_USER OPSDM002
... (2 Replies)
I]hi all
i am in confusion since last 2 days :(
i posted thraed yesterday and some friends did help but still i couldnt get solution to my problem
let it be very clear
i have a long log file of alkatel switch and i have to seperate the minor major and critical alarms shown by ! , !! and !!!... (6 Replies)
i would like to ask how to make a script that in evry 3 lines of my paragraph(below) it would appear like this:
$ cat myparagraph
this is line 1
this is line 2
this is line3
this is line 4
this is 5
this 6
this is 7
this 8
====================================================
$ cat... (2 Replies)
Can someone explain the following? I can use find on *.pm without quotes, but find on *.pl makes on error, I need quotes for the second version. What's up with that?
$find -name *.pm
./tieProxyStatus/Status.pm
$find -name *.pl
find: paths must precede expression
Usage: find
$find... (2 Replies)