Forum: Cfengine Help
Subject: regex help
Author: neilhwatson
Link to topic: https://cfengine.com/forum/read.php?3,21705,21705#msg-21705

I have a line that I want to insert into a file.  I also want to remove any 
other permutations of that line from the file.  Appending is easy deleting 
without deleting the correct line is a challenge.  I've tried some lookaheads 
and lookbehinds but I'm not very good with these types of regular expressions.  
This is the correct line

00 3 1 * * /usr/scripts/util/distributed-multipath-ck.sh 2>&1 > /dev/null

This is the regext to remove the unwanted lines

(?<!00 3 1 \* \*)\s*/usr/scripts/util/distributed-multipath-ck.sh\s*(?!2>&1 > 
/dev/null)


Here is the target file

45 * * * * /var/cfengine/bin/cf-execd -F > /dev/null 2>&1 || 
/usr/local/sbin/cf-failsafe.sh
01 3 1 * * /usr/scripts/util/distributed-multipath-ck.sh 2>&1 > /dev/null
15 00 * * * logger -p local0.notice `uname -n`:l0gg3r
0 7 1 * * /usr/scripts/util/lsa > /dev/null 2>&1
00 3 1 * * /usr/scripts/util/distributed-multipath-ck.sh 2>&1 > /dev/null


My goal is that line two should be removed because it is an unwanted 
permutation of the desired shell script.  I suspect the problem is with the 
negative look behind but I don't how to fix it.

_______________________________________________
Help-cfengine mailing list
Help-cfengine@cfengine.org
https://cfengine.org/mailman/listinfo/help-cfengine

Reply via email to