The following code awk and sed solutions look for a line with the first word "monitor" at any point before the closing brace before giving up and deigning it unmonitored. I tested against a slightly modified version of the sample data that you provided in your original post.
Code:
$ cat data
pool Happy1 {
members
monitor all happy1-check
1.1.1.4:https
}
pool Happy2 {
members
1.1.2.4:https
}
pool Happy3 {
members
1.1.3.4:https
monitor all happy3-check
}
pool Happy4 {
members
1.1.4.4:https
}
pool Happy5 {
monitor all happy5-check
members
1.1.5.4:https
}
$ awk '/^pool/ {name=$2; next} $1=="monitor" {name=""} /^\}/ && name { print "Pool " name " may not be monitored"}' data
Pool Happy2 may not be monitored
Pool Happy4 may not be monitored
$######## A sed alternative ########
$ cat monitor.sed
#n
/^pool/ {
s/pool \([^ ]*\) .*/\1/; h;
:next
n
/^}/! {
/^ *monitor/!b next
d
}
g; s/.*/Pool & may not be monitored/p
}
$ sed -f monitor.sed data
Pool Happy2 may not be monitored
Pool Happy4 may not be monitored
Regards,
Alister
Last edited by alister; 01-06-2010 at 06:52 PM..
Reason: sed script tweak
All,
I have a requirement where I will need to split a line into multiple lines.
Ex:
Input:
2ABCDEFGH2POIYUY2ASDGGF2QWERTY
Output:
2ABCDEFGH
2POIYUY
2ASDGGF
2QWERTY
The data is of no fixed lenght. Only the lines have to start with 2.
How can this be done. (5 Replies)
I have a file with a set of insert statements some of which have a single column value that crosses multiple lines causing the statement to fail in sql*plue. Can someone help me with a sed script to replace the new lines with chr(10)?
here is an example:
insert into mytable(id, field1, field2)... (3 Replies)
Hi guys, looking for a bit of advise, and as I am a complete novice, please excuse the daft questions!!
I have a list of events and of which entry looks like this;
#
# Event 1
# NAME = Event 1
#
12345 : 123 : 1 : 1 : L,1,N : 1,0 : Event
#
# Event 2
# NAME = Event 2
#
12346... (8 Replies)
echo "please enter ur choice..
1. Make a file.
2. Display contents
3. Copy the file
4. Rename the file
5. Delete the file
6. Exit"
read choice
case $choice in
1 ) echo enter the file name
read fname
if
then
echo... (2 Replies)
Hi,
I'm trying to get lines from a file using identifiers in the first two columns. I have used:
cat MasterFile.txt | grep -f Pattern.txt
and the lines I want display on screen. If I try to put them in a file the file is created but stays empty:
cat MasterFile.txt | grep -f Pattern.txt... (14 Replies)
Hi All,
I am stuck in one step..
I have one file named file.txt having content:
And SGMT.perd_id = (SELECT cal.fiscal_perd_id FROM $ODS_TARGT.TIM_DT_CAL_D CAL
FROM $ODS_TARGT.GL_COA_SEGMNT_XREF_A SGMT
SGMT.COA_XREF_TYP_IDN In (SEL COA_XREF_TYP_IDN From... (4 Replies)
Hi Everyone,
Im currently using the below code to pull data from a large CSV file and put it into smaller files with just the data associated with the number that I "grep".
grep 'M053' test.csv > test053.csv
Is there a way that I can use grep to run through my file like the example below... (6 Replies)
Hi, if i have data like below:
Control|AC-00011-CN-2475208 AC-00011-CN-2475211 AC-00007-CN-2475238 AC-00007-CN-2475241
Im getting output in required format as below
Control|AC-00011-CN-2475208
Control|AC-00011-CN-2475211
Control|AC-00007-CN-2475238
Control|AC-00007-CN-2475241
using
awk... (9 Replies)
I use this to get 8 random letters:
cat /dev/urandom | tr -dc 'A-Z' | fold -w 8 | head -n 1
Result is,
WLGFJFZY
What I'm trying to do is get 10 lines of random letters, separated by a line and each block having ascending numbers
i.e;
00
IWMTDFIM
01
KZZZCHPQ
02
YBTGFHGT
03 (4 Replies)
Discussion started by: jenny-mac
4 Replies
LEARN ABOUT DEBIAN
smd-loop
smd-loop(1) Sync Mail Dir (smd) documentation smd-loop(1)NAME
smd-loop - iterates smd-pull and smd-push
SYNOPSIS
smd-loop [-vt]
DESCRIPTION
smd-loop runs smd-push and smd-pull at regular intervals as defined by the user in the ~/.smd/loop configuration file. On errors that are
reported to be transient, it retries a second time before failing.
The configuration file is line-oriented. Each line is composed of three space separated fields: pull-frequency, push-frequency and end-
point-name. Frequencies are expressed in minutes, while endpoint name is a valid name for smd-pull(1) and smd-push(1). Lines beginning with
# are considered as comments. The following example calls the command smd-pull default every 3 minutes, and smd-push default every 10.
Example:
# pull-frequency push-frequency endpoint-name
3 10 default
OPTIONS -v Increase program verbosity (printed on stderr)
-t Just create a template configuration file if none
FILES
~/.smd/loop
SEE ALSO mddiff(1), smd-server(1), smd-client(1), smd-push(1), smd-pull(1)AUTHOR
Enrico Tassi <gares@fettunta.org>
11 June 2012 smd-loop(1)