Sponsored Content
Top Forums UNIX for Beginners Questions & Answers How to 'improve' this script and also 'fix' the pattern matching part? Post 303040043 by RudiC on Tuesday 22nd of October 2019 09:36:59 AM
Old 10-22-2019
Your script seems a bit intricate. E.g. when using the > redirection, you don't need to create / truncate the file upfront. And, with that many temp files, there must be a better approach. How far would
Code:
sed -n '/Fatal NI connect error 12170./,/WARNING: inbound connection timed out (ORA-3136)/p;' file

get you for the first part of your task- in the good case?


Now, if the "WARNING" line is missing sometimes, but the "client address" line is always there, why not use that and add a condition to print the "WARNING" line individually? Is the "WARNING" line always immediately following the "Client" line?


And. looks like your logger sometimes misbehaves by mixing logs of two independent events. If you can't remedy that in the originator, you'll need additional coding on the receiving side, and that can't be done in sed, but needs tools like awk, perl, or similar. Are the log lines in relative order, i.e. the second log line consistently belongs to the second event?

Last edited by RudiC; 10-22-2019 at 10:55 AM..
These 2 Users Gave Thanks to RudiC For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

vi part-pattern matching and deletion

Hi, I have a log file which shows the files which has been changed over the last week. They follow this pattern: old_file_version_number@@new_file_version_number Now I need to know how to delete from each line parts starting from @@. I would be issuing the command inside vi(m). So... (5 Replies)
Discussion started by: vino
5 Replies

2. Shell Programming and Scripting

bash script, pattern matching + sum

Hi guys, i have been struggling to achieve the following and therefor looking for some help. I am trying to write something that will summerize the following output from my switches for daily totals. Basicly if $1 $2 $3 doesnt change, we can keep adding up $4. Probably would use a awk print end... (3 Replies)
Discussion started by: Wratholix
3 Replies

3. Shell Programming and Scripting

Pattern matching in a shell script?

I'm looking for a way to match a particular string in another string and if a match is found execute some command. I found the case statement can be used like this; case word in ) command ;; ] ... esac If my string to find is say "foo" in the string $mystring... (1 Reply)
Discussion started by: paulobrad
1 Replies

4. Shell Programming and Scripting

Problem extracting just a part of a matching pattern

Hello everyone, this is my first post so please give me a hand. I apologize for my English, I'll try to be clear with my request. I need to write a script (Bash) which finds all the variables defined in the file .h of the folder and then writes the name of the files .c where these variables are... (1 Reply)
Discussion started by: paxilpaz
1 Replies

5. Shell Programming and Scripting

shell script pattern matching

Hi, I need to create a shell script through which i need to populate email addresses in email columns of database table in mysql. Let say if email contains yahoo, hotmail, gtalk than email addresses need to move in their respective columns. # !/bin/sh yim="example@yahoo.com"... (3 Replies)
Discussion started by: mirfan
3 Replies

6. Shell Programming and Scripting

Pattern matching in shell script

Hi, I am using following command to extract string from a file. String will be after last / (slash). awk -F\ / '{print $NF}' $FILE but while appending the output in file in script, it dosent work. File created but of zero size... can anyone please help `awk -F\\\/ '{print $NF}' $FILE` >... (3 Replies)
Discussion started by: Deei
3 Replies

7. UNIX for Dummies Questions & Answers

Script to list non matching files using pattern

Hi, I am trying to write a script that list down all the files that do not match the pattern My pattern will be like this "*.jpg|*.xml|*.sql". This pattern will be stored in a file. The script need to read this pattern from the file and delete the files that does not match this pattern. It... (7 Replies)
Discussion started by: meenavin
7 Replies

8. Shell Programming and Scripting

Expect Script - Pattern Matching Trouble

I am still learning expect, For the below script I always get This is True as the answer. Tried to debug and does not make sense to me. Not sure, where I am doing the mistake. Need Help! - Thanks #!/usr/bin/expect -f set timeout 10 spawn -noecho bash expect { *$* } send "test -d... (3 Replies)
Discussion started by: rmsagar
3 Replies

9. Shell Programming and Scripting

Pattern Matching in Perl script

I have a big perl script need to fix a small pattern matching inside .. I have patterns like create unique index create index The pattern matching should look for both the pattern in the same statement, The existing matching looks for only "create unique index" The exising code for this i... (6 Replies)
Discussion started by: greenworld123
6 Replies

10. Shell Programming and Scripting

Taking out part of a string by matching a pattern

Hi All, My Problem is like below. I have a file which contains just one row and contains data like PO_CREATE12457888888888889SK1234567878744551111111111SK89456321145789955455555SK8888888815788852222 i want to extract SK12345678 SK89456321 SK88888888 So basically SK and next 8... (4 Replies)
Discussion started by: Asfakul Islam
4 Replies
dot-forward(1)						      General Commands Manual						    dot-forward(1)

NAME
dot-forward - read a .forward file under qmail SYNOPSIS
in ~/.qmail: | dot-forward [ -nN ] file ... OVERVIEW
dot-forward forwards incoming messages according to sendmail-style instructions in file, if file exists. Normally file is .forward. WARNING: If you create a .qmail file to enable dot-forward, make sure to add a second line specifying delivery to your normal mailbox. For example: |dot-forward .forward ./Mailbox COMPATIBILITY WARNING: dot-forward does not support :include: or mbox deliveries. You can use the delivery mechanism described in dot- qmail(5) instead. OPTIONS
-N (Default.) Read and forward a message. -n Parse file and print the forwarding instructions in it, one per line; do not follow the instructions. You can use this option from the command line to see how your .forward file will be interpreted: dot-forward -n .forward FILE HANDLING
When a message arrives, dot-forward opens file and handles it as discussed below. It exits 99, so qmail-local will ignore further instruc- tions in .qmail. Exception: If file specifies delivery directly to you, dot-forward exits 0, so qmail-local will read further instructions in .qmail. If file does not exist, dot-forward exits 0. You can list several files; then dot-forward will try each one in turn, using the first one that exists, or exiting 0 if none exist. COMPATIBILITY WARNING: dot-forward treats an empty file as if it did not exist. Versions of sendmail before V8 would throw away the incom- ing message. COMPATIBILITY WARNING: If dot-forward encounters a temporary error opening file, it exits 111, so that qmail-local will try again later. sendmail assumes incorrectly that file does not exist. COMPATIBILITY WARNING: file must be readable by dot-forward, which is normally running as the user. sendmail places different constraints on its .forward permissions, since it is normally running as root. FORWARDING
Normally file contains an address. dot-forward forwards the message to that address. The address is parsed as if it were in an RFC 822 message header. Parenthesized comments and bracketed addresses are permitted: bob (Bob, the postmaster) @heaven.af.mil Addresses with special characters must be quoted: "spaced out mailbox"@heaven.af.mil Address groups are not permitted. file can contain any number of lines, each line containing any number of addresses. dot-forward forwards the message to each address: bob, fred, susan Joe Shmoe <shmoe@heaven.af.mil> An address without a fully qualified domain name is handled as described in qmail-header(5). Exception: Certain addresses without domain names are handled specially, as described below. DIRECT DELIVERY
If an address does not contain a domain name, and matches the environment variable $USER (without regard to case), it specifies delivery directly to you. If an address matches $USER@$HOST (without regard to case), it specifies delivery directly to you. COMPATIBILITY WARNING: sendmail's handling of quotes and backslashes violates RFC 821 and RFC 822, and is not supported by dot-forward. dot-forward treats joe the same way as joe. The dot-qmail delivery mechanism lets each user manage several addresses, so there is no need for a special syntax to get around forwarding. COMMANDS
If an address does not contain a domain name, and begins with a vertical bar, dot-forward takes the rest of the address as a command to run: bob, "|vacation bob" dot-forward feeds the message to the command, preceded by the environment variables $UFLINE, $RPLINE, and $DTLINE. COMPATIBILITY WARNING: Internet addresses can legitimately start with a slash or vertical bar. dot-forward treats anything with an unquoted @ as an address. sendmail appears to have various problems coping with these addresses, and with commands that contain @ signs. COMMENTS
Any line in file that begins with # is ignored: # this is a comment COMPATIBILITY WARNING: Versions of sendmail before V8 did not allow comments in .forward files. VERSION
This is dot-forward 0.71. The dot-forward home page is http://pobox.com/~djb/dot-forward.html. SEE ALSO
qmail-header(5), dot-qmail(5) dot-forward(1)
All times are GMT -4. The time now is 06:43 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy