Sponsored Content
Top Forums Shell Programming and Scripting Script to put block comment after finding regex in xml file Post 302486899 by Poki on Monday 10th of January 2011 04:04:03 PM
Old 01-10-2011
Script to put block comment after finding regex in xml file

hi,
i need my bash script to find regex in xml file.. and comment 2 lines before and after the line that contains regex.. can't use # needs to be <!-- at the beginning and --> and the end of the comment.

so eg..
Code:
first block

<filter>
        <filter-name>MyRegEx</filter-name>
        <filter-class>MyRegExblablabla</filter-class>
    </filter>

second block

<filter-mapping>
        <filter-name>MyRegEx</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

so output should be
Code:
first block
<!--
 <filter>
        <filter-name>MyRegEx</filter-name>
        <filter-class>MyRegExblablabla</filter-class>
    </filter>

-->
 
second block
 
 
<!-- 
<filter-mapping>
        <filter-name>MyRegEx</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

 -->

unfortunately since it's an xml file.. # is not funtioning..
obviously there is no problem to find regex.. .. i can also find the lines of regex.. the difficulty is to wrap around 2 lines before and after.. with <!-- and -->
Does anyone know how to do it? i have been working on it for quite some time now..

Thank you

Last edited by Scott; 01-11-2011 at 03:26 PM.. Reason: Please use code tags
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Block Comment in Shell script

how to put multiline comments in a shell script like /* Some code */ in C language? (3 Replies)
Discussion started by: skyineyes
3 Replies

2. Shell Programming and Scripting

How to put a comment at the begining of the sentence

I have a file shows as below. I would like to put # before CCCC. so how to do in Solaris. Here sed doesnot support -i AAAA BBBB CCCCC DDDDD EEEEE FFFFFF (1 Reply)
Discussion started by: madhusmita
1 Replies

3. Shell Programming and Scripting

Finding a XML element and moving the file

Hi All, I am looking for a awk/shell which can find an element named REFERENCE in a XML file and check whether it is empty or not. If there is no value in the REFERENCE element then correspondingly move the file to some other folder. The Unix server is AIX version 4. Any inputs... (9 Replies)
Discussion started by: karansachdeva
9 Replies

4. Shell Programming and Scripting

get rid of xml comment by grep or sed

Hi, I would like to get rid of all comment in an xml file by grep or sed command: The content seem like this: <!-- ab cd ef gh ij kl --> Anyone can help? Thanks and Regards (3 Replies)
Discussion started by: RonLii
3 Replies

5. Shell Programming and Scripting

Help using SED to comment XML elements

I'm trying to write a script to help automate some VERY tedious manual tasks. I have groups of fairly large XML files (~3mb+) that I need to edit. I need to look through the files and parse the XML looking for a certain flag contained in a field. If I find this flag (an integer value) I need... (4 Replies)
Discussion started by: J-Hon
4 Replies

6. Shell Programming and Scripting

regex/shell script to Parse through XML Records

Hi All, I have been working on something that doesn't seem to have a clear regex solution and I just wanted to run it by everyone to see if I could get some insight into the method of solving this problem. I have a flat text file that contains billing records for users, however the records... (5 Replies)
Discussion started by: Jerrad
5 Replies

7. Shell Programming and Scripting

search a word in a xml file and print the out put

hi , i m having a html file and this file looks like this <ssl> <name>PIA</name> <enabled>true</enabled> <listen-port>39370</listen-port> </ssl> <log> <name>PIA</name> </log> <execute-queue> <name>weblogic.kernel.Default</name> ... (7 Replies)
Discussion started by: becksram123
7 Replies

8. Shell Programming and Scripting

finding a block in a file and replace with another file block.

(1) Yes but how is this block different from the other 24? You will need this information in order to identify and replace this block correctly (out of the 25). Ans: The 1st line and last line of this block are unique from other block. The 1st line is “rem Subset Rows (&&tempName.*) and The... (1 Reply)
Discussion started by: Zaheer.mic
1 Replies

9. Shell Programming and Scripting

Replacing part of XML code inside comment tags

Hello! I'd like to modify custom values in a XML config file between comment tags using bash script. <feature> <keyboardshortcut>C-m</keyboardshortcut> <option1>disabled</option2> <option2>enabled</option2> </feature> <!-- bash script features START --> <feature> ... (2 Replies)
Discussion started by: prism1
2 Replies

10. Shell Programming and Scripting

Using :<<cut / cut to comment out block of bash script

I am using : << cut / cut to comment out block of code. Works fine on few lines of script, then it gives me this cryptic error when I try to comment out about 80 lines. The "warning " is at last line of script. done < results 169 echo "END read all positioning parameters" 170... (8 Replies)
Discussion started by: annacreek
8 Replies
ACHECK-RULES.5(5)					User Contributed Perl Documentation					 ACHECK-RULES.5(5)

NAME
set.rules - Rules set for acheck DESCRIPTION
Rules set files contain rules to be check by acheck. Lines beginning with a number sign (`#') and empty lines will be ignored. Spaces at the beginning and the end of a line will also be ignored as well as tabulators. If you need spaces at the end or the beginning of a value you can use apostrophes (`"'). A comment starts with the number sign, there can be any number of spaces and/or tab stops in front of the #. Long lines can be broken into multiple lines ending with a backslash (`'). Some possible examples: # this line is ignored field value field value # this is a comment field "value ending with space " field value continuing on the next line You have to escape number signs with a backslash to use it in a value and use apostrophes if a value ends with a backslash. Rule sets are made of lists of rules. Theses lists can be repeated a number of times, until or while a condition happens. A rule detects an error if the corresponding test succeeds and none of its validation tests does. Each rule can then produce some fixes, a warning or an error, and provide hints to help the operator to correct the error. Parts of the text can be set as comments and so no rule and no spell check will be performed on them. RULE FILE SYNTAX
SYNTAX RULES
list A list starts at a `list' statement, and stops at the first `end_list' or at the end of the file. Mandatory fields: type type until, perform the list until the current line matches `test' while, perform the lint while the current line matches `test' loop, perform the list `test' times test regex / number A regex for `until' and `while' lists. The number of times the list must be performed for `loop', or `0' for infinite loop. Optional fields: name name Use this to give the list a name. spell yes / no Set it to `yes' (default) or `no', if you want or don't want spelling to be checked in the lines matching this list. This value will be inherited by the nested lists. Sub-rules: list [name] rule [name] comment [name] Followed by the name of the sub-rule or its definition for an anonymous sub-rule. rule A rule starts at a `rule' statement, and stops at the first `end_rule' or at the beginning of a comment or a list. Mandatory fields: type type fix, rule provides fixes and hints thought a menu autofix, rule fixes the mistake with no interaction warning, rule issues a warning error, rule issues an error nop, special rule that do nothing, no other field is required regex regex The regex to be match to found this error. Patterns can be captures and then used in the `fix' expression. fix expr Provides a correction for the rule, this field can be repeated to provides more than one choice. Only the first one will be used for `autofix' rules. `warning' and `error' do not provides fixes. The captured patterns can be used here with variables `$1', `$2', and so on. hint text Provides some explanations, this will be used as reviewer comments in review mode. Optional fields: name name Use this to give the rule a name. valid [name] Provides a validation test, it can be named or anonymous. For anonymous validation, the test definition must follow. This field can be repeated more than once, if any of the validation test succeed, the rule does not apply. valid A validation test starts at a `valid' statement, and stops at the first `end_valid' or at the beginning of a rule, a comment, a list or another validation test. Mandatory field: pre regex in regex> post regex Try the regex before, in or after the match of the regex rule. At least one of these test must be provided. If all tests are success- ful, the rule won't apply. Optional field: name name Use this to give the validation test a name. comment A comment starts at a `comment' statement, and stops at the first `end_comment' or at the beginning of a rule, a comment or a list. Comments are just skipped, no other rule and no spelling are performed on them. Mandatory field: skip regex A regex matching the text of the comment. Do not use `start' and `stop' with this. start regex stop regex Regexs defining the beginning and the end of the comment, all the text between will be considered as comment. Do not use `skip' with this. Optional fields: name name Use this to give the comment a name. start_offset stop_offset Defines where the comment really starts or end. Values are `s' for the place the match starts, `s+<n>' for n characters after the match starts, `e' for the place the match ends, or `e-<n>' for n characters before the match ends. Defaults are `s' for `start' matches and `e' for `stop' matches. SEE ALSO
acheck(1), acheck(5) AUTHOR
Nicolas Bertolissio <nico.bertol@free.fr> perl v5.8.4 2003-07-20 ACHECK-RULES.5(5)
All times are GMT -4. The time now is 02:15 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy