05-05-2004
I think that your problem is that you are using find to grep on the ./logs directory itself and not just on the files in that directory. You need to restrict the find to only grep within plain files.
Lets test this theory, using some test files...
$ mkdir logs
$ echo 'Process Complete' > logs/log1
$ echo 'otherwise' > logs/log2
...first find files that do contain the string...
$ find ./logs -size +1c -exec grep -q 'Process Complete' {} \; -print
./logs/log1
...as expected. Now find files that do NOT contain the string...
$ find ./logs -size +1c ! -exec grep -q 'Process Complete' {} \; -print
./logs
./logs/log2
...woah! What's that "./logs" thing doing there?! If I was using "-exec ls -l {} \;" then it would return every file in the directory! Better restrict the find to plain files...
$ find ./logs -type f -size +1c ! -exec grep -q 'Process Complete' {} \; -print
./logs/log2
...OK!
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi Friends,
How can I search all files in all slices on a unix system for a particular string within the file.
e.g search string 'oracle'
Thanks (4 Replies)
Discussion started by: sureshy
4 Replies
2. Shell Programming and Scripting
I just want to know where I can download it on this website plz (1 Reply)
Discussion started by: memattmyself
1 Replies
3. UNIX for Dummies Questions & Answers
I'm looking to seach all the files in a directory and sub-directories looking for a string. When the string is found, I want to display the filename and the entire line of that file that the string was found on.
what is the best way to do this ?? I've been playing around with awk, find, and... (15 Replies)
Discussion started by: 35Soinc
15 Replies
4. UNIX for Dummies Questions & Answers
I have many scripts in directories and sub-directories that I would like to search for a specific string. How would I do that? (1 Reply)
Discussion started by: bggibson
1 Replies
5. Shell Programming and Scripting
I'm trying to remove the following string from several files.
<img heigth="1" width="1" border="0" src="http://myteenmovies.net/t.php?id=5540372">I'm using the following script
#!/bin/bash
# This script will search and replace all regular files for a string
# supplied by the user and... (1 Reply)
Discussion started by: d13g0sv
1 Replies
6. Shell Programming and Scripting
Hi,
Basically i want to search for a string in file two based on the input file one and if it matches get the nextline and print the value of the field name.
cat one
abc
xyz
defcat two
<src>
<name="path/to/abc" test="value_version">
<new name="Y2" >
</src>
<src>
<name="path/to/xyz"... (5 Replies)
Discussion started by: greet_sed
5 Replies
7. Shell Programming and Scripting
I need to search the file using strings "Request Type" , " Request Method" , "Response Type" and by using result set find the xml tags and convert into a single line?. below are the scenarios.
Cat test
Nov 10, 2012 5:17:53 AM
INFO: Request Type
Line 1.... (5 Replies)
Discussion started by: laknar
5 Replies
8. UNIX for Advanced & Expert Users
i have a file named keyword.csv(contains around 8k records) which contains a no. of columns.
The 5th column contains all the keywords.
I want to recursively search these keywords in all .pl files(around 1k) and display the filename....Afterthat i will use the filename and some of the column from... (3 Replies)
Discussion started by: millan
3 Replies
9. Shell Programming and Scripting
Hi,
Need your help for this scripting issue I have. I am not really good at this, so seeking your help.
I have a file looking similar to this:
Hello, i am human and name=ABCD.
How are you?
Hello, i am human and name=PQRS.
I am good.
Hello, i am human and name=ABCD.
Good bye.
Hello, i... (12 Replies)
Discussion started by: royzlife
12 Replies
10. UNIX for Beginners Questions & Answers
I have 13 text files and almost all of them contain the same string.
but some file has diffrent string inside.
I want to send that file which has a diffrent string inside (11 Replies)
Discussion started by: Sagar Singh
11 Replies
LEARN ABOUT DEBIAN
trimhistory
TRIMHISTORY(8) System Manager's Manual TRIMHISTORY(8)
NAME
trimhistory - Remove old Xymon history-log entries
SYNOPSIS
trimhistory --cutoff=TIME [options]
DESCRIPTION
The trimhistory tool is used to purge old entries from the Xymon history logs. These logfiles accumulate information about all status
changes that have occurred for any given service, host, or the entire Xymon system, and is used to generate the event- and history-log web-
pages.
Purging old entries can be done while Xymon is running, since the tool takes care not to commit updates to a file if it changes mid-way
through the operation. In that case, the update is aborted and the existing logfile is left untouched.
Optionally, this tool will also remove logfiles from hosts that are no longer defined in the Xymon bb-hosts(5) file. As an extension, even
logfiles from services can be removed, if the service no longer has a valid status-report logged in the current Xymon status.
OPTIONS
--cutoff=TIME
This defines the cutoff-time when processing the history logs. Entries dated before this time are discarded. TIME is specified as
the number of seconds since the beginning of the Epoch. This is easily generated by the GNU date(1) utility, e.g. the following com-
mand will trim history logs of all entries prior to Oct. 1st 2004:
trimhistory --cutoff=`date +%s --date="1 Oct 2004"`
--outdir=DIRECTORY
Normally, files in the BBHIST directory are replaced. This option causes trimhistory to save the shortened history logfiles to
another directory, so you can verify that the operation works as intended. The output directory must exist.
--drop Causes trimhistory to delete files from hosts that are not listed in the bb-hosts(5) file.
--dropsvcs
Causes trimhistory to delete files from services that are not currently tracked by Xymon. Normally these files would be left
untouched if only the host exists.
--droplogs
Process the BBHISTLOGS directory also, and delete status-logs from events prior to the cut-off time. Note that this can dramatically
increase the processing time, since there are often lots and lots of files to process.
--progress[=N]
This will cause trimhistory to output a status line for every N history logs or status-log collections it processes, to indicate how
far it has progressed. The default setting for N is 100.
--env=FILENAME
Loads the environment from FILENAME before executing trimhistory.
--debug
Enable debugging output.
FILES
$BBHIST/allevents
The eventlog of all events that have happened in Xymon.
$BBHIST/HOSTNAME
The per-host eventlogs.
$BBHIST/HOSTNAME.SERVICE
The per-service eventlogs.
$BBHISTLOGS/*/*
The historical status-logs.
ENVIRONMENT VARIABLES
BBHIST The directory holding all history logs.
BBHISTLOGS
The top-level directory for the historical status-log collections.
BBHOSTS
The location of the bb-hosts file, holding the list of currently known hosts in Xymon.
SEE ALSO
xymon(7), bb-hosts(5)
Xymon Version 4.2.3: 4 Feb 2009 TRIMHISTORY(8)