05-10-2011
grep sed and a loop
I have a requirement to search a log file that never rotates for certain values. If I find them I pipe them to a another file. To log file is constanyl being appened with new lines and never rotating Easy so far.
The problem is I dont want to pipe out matches already seen before. One thing I tried was to use sed to put a # at the beginning of each line as it is read. Then the grep would ignore lines starting with #
My problem is I can get it to just add # to the unread lines, it adds another to all lines so each time the log is read so the earliest entries have loads of * infront of them.
I was tryin gto get it to ignore liens with # and then to a for loop for any the new lines e.g. for any not starting with # search for the string and add # to the front. This way is would only add # to lines that dont have one.
Here i swhat I was working with but just cant get that loop to work on lines not starting with #
Any help would be a awesome.
grep -v '^#' test.log | grep "Can not load CRL"
This line ignores lines starting with # and greps the rest for "Can not load CRL"
sed 's/^/#/g' test.log > testnew.log
The line adds the # to the front and creates output file testnew.log I want it to only add # to lines without a # already
mv testnew.log test.log
This line renames\overwrites testnew.log and to test.log If anyone knows how i can write directly to the original file instead of having to write a new file and then overwrite the original would be great as well
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi ,
I am trying a script which takes user input userid . I am stuck how to check whether that is a valid user id or not in the audit log files. My code is :
cd $CCP_AUDIT
cat * > /export/home/$USR/l***/files
echo "UserId:\c"
read UserId
#Date Function
echo "DATE : \c"
read xxx
I... (7 Replies)
Discussion started by: gundu
7 Replies
2. UNIX for Dummies Questions & Answers
alist contain:
a
b
c
d
e
blist contain:
a
b
c
the code:
#!/usr/bin/ksh
cat blist | while read line
do
grep -V "$line" alist > data
done (8 Replies)
Discussion started by: bobo
8 Replies
3. Shell Programming and Scripting
I have a huge file and want to separate it into several subsets.
The file looks like:
C1 C2 C3 C4 ... (variable names)
1 ....
2 ....
3 ....
:
22 ....
23 ....
I want to separate the huge file using the column 1, which has numbers from 1 to 23 (but there are different amount of... (8 Replies)
Discussion started by: AMBER
8 Replies
4. Shell Programming and Scripting
I have a key file
$ cat klist
5 N:8855 CASA VERDE ROAD :32827 :ORLAND
5 N:585 MOLLY LANE :30189 :WOODST
5 N:320 NINA ROAD :32304 :TALLAH
and a data file, see example of the line below:
N:RT 15 & N 7TH STREET :17837 :U SAVE
I need to search by key (2nd field) from klist... (6 Replies)
Discussion started by: migurus
6 Replies
5. Shell Programming and Scripting
Hi all,
I have the below script to get input but i cannot get grep to work.
input1.txt
AAAAAAAAG
input2.txt
>gi|184009.1| LEAFY-like |AAAAAAAAGSGGGDHLPY
However, when i use grep -f input1.txt input2.txt
i cannot get any output matches (note that the match is underlined).
Is it... (8 Replies)
Discussion started by: turkishvan
8 Replies
6. Shell Programming and Scripting
So this is what I'm trying to do:
I have a file called registry.txt which has a list of registry entries I want to search for.
I have another file called inctrl.txt on which I want to perform the search on.
Here's the example contents of registry.txt
SOFTWARE\Microsoft\Security... (3 Replies)
Discussion started by: r4v3n
3 Replies
7. Red Hat
Hello everybody,
I have been searching it, but it seems I am unable to find the correct information, that s why I am asking you guys, hoping somebody get an idea.
Here is my problem :
I want a script to loop until a string is identified in a log file.
Here is the script :
#!/bin/sh... (5 Replies)
Discussion started by: guyiom
5 Replies
8. Homework & Coursework Questions
Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!
1. The problem statement, all variables and given/known data:
I need to search through the users home directories for keywords, display them. The code listed below will show... (7 Replies)
Discussion started by: jcllns1
7 Replies
9. UNIX for Beginners Questions & Answers
Hello -
I am running a script that is outputting to a log. Let call it output.log
I would like to monitor that log until the line "Build Successful" is found.
I think I would need to use the grep command.
How would I do that in a loop?
Thanks
Marty (1 Reply)
Discussion started by: MSpeare
1 Replies
10. Shell Programming and Scripting
Hello,
I have built the following script to check if processes supplied by the argument are running or not.
#!/bin/bash
PROCLIST=$1
PROCESS="0"
ERROR_PROCS=""
IFS='+'
read -ra ADDR <<< "$PROCLIST"
for PROC in "${ADDR}"; do
if ; then
PROCESS=1
... (9 Replies)
Discussion started by: nms
9 Replies
uulog(1) General Commands Manual uulog(1)
NAME
uulog - display entries in the UUCP log file.
SYNOPSIS
uulog [-#] [-n lines] [-sf system] [-u user] [-DSF] [--lines lines] [--system system] [--user user] [--debuglog] [--statslog] [--follow]
[--follow=system]
DESCRIPTION
The uulog program can be used to display entries in the UUCP log file. It can select the entries for a particular system or a particular
user. You can use it to see what has happened to your queued jobs in the past. Different options may be used to select which parts of the
file to display.
OPTIONS
-#, -n lines, --lines lines
Here '#' is a number; e.g., `-10'. The specified number of lines is displayed from the end of the log file. The default is to dis-
play the entire log file, unless the -f, -F, or --follow options are used, in which case the default is to display 10 lines.
-s system, --system system
Display only log entries pertaining to the specified system.
-u, --user user
Display only log entries pertaining to the specified user.
-D --debuglog
Display the debugging log file.
-S, --statslog
Display the statistics log file.
-F, --follow
Keep displaying the log file forever, printing new lines as they are appended to the log file.
-f system, --follow=system
Keep displaying the log file forever, displaying only log entries pertaining to the specified system.
Standard UUCP options:
-X type, --debug type
Turn on particular debugging types. The following types are recognized: abnormal, chat, handshake, uucp-proto, proto, port, config,
spooldir, execute, incoming, outgoing. --debug option may appear multiple times. A number may also be given, which will turn on that
many types from the foregoing list; for example, --debug 2 is equivalent to --debug abnormal,chat.
-I file, --config
Set configuration file to use.
-v, --version
Report version information and exit.
--help
Print a help message and exit.
SEE ALSO
uucp(1)
AUTHOR
Ian Lance Taylor <ian@airs.com>. Text for this Manpage comes from Taylor UUCP, version 1.07 Info documentation.
Taylor UUCP 1.07 uulog(1)