Je voudrais ajouter des drapeaux clients dans certains de mes scripts pour qu'ils soient analysés avant d'être empaquetés par un scripts shell.
Disons qu'en supprimant tout le texte multiligne entre
^([#]|[//]){0,1}[_]+NOT_FOR_CUSTOMER_BEGIN[_]+\n
et entre
^([#]|[//]){0,1}[_]+NOT_FOR_CUSTOMER_END[_]+\n
Je veux qu'il soit tolérant aux erreurs (concernant le nombre de '_'), c'est pourquoi j'utilise des regex.
Par exemple :
avant.foo
i want this
#____NOT_FOR_CUSTOMER_BEGIN________
not this
nor this
#________NOT_FOR_CUSTOMER_END____
and this
//____NOT_FOR_CUSTOMER_BEGIN__
not this again
nor this again
//__________NOT_FOR_CUSTOMER_END____
and this again
deviendra :
après.foo
i want this
and this
and this again
Je préférerais utiliser sed mais toute solution intelligente sera la bienvenue :)
Quelque chose comme ça :
cat before.foo | tr '\n' '\a' | sed -r 's/([#]|[//]){0,1}[_]+NOT_FOR_CUSTOMER_BEGIN[_]+\a.*\a([#]|[//]){0,1}[_]+NOT_FOR_CUSTOMER_END[_]+\a/\a/g' | tr '\a' '\n' > after.foo