Mercurial > repos > bgruening > text_processing
diff replace_text_in_line.xml @ 22:3dc70b59608c draft
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/text_processing/text_processing commit 2dc2df988bd2dde9f8d7f629b594186dbd4fdc2b
author | bgruening |
---|---|
date | Fri, 07 Mar 2025 20:44:20 +0000 |
parents | 12615d397df7 |
children |
line wrap: on
line diff
--- a/replace_text_in_line.xml Fri Aug 16 10:41:54 2024 +0000 +++ b/replace_text_in_line.xml Fri Mar 07 20:44:20 2025 +0000 @@ -14,6 +14,7 @@ -r --sandbox #for $replacement in $replacements: + -e '$replacement.sed_options' -e 's/$replacement.find_pattern/$replacement.replace_pattern/g' #end for @@ -47,10 +48,20 @@ <add source="'" target="'"'"'" /> <add source="/" target="\/"/> </mapping> - </sanitizer> - - </param> + </param> + <param name="sed_options" type="text" size="20" optional="true" label="Additional sed commands before replacement" help="Provide additional sed commands before the replacement (e.g., ':a;N;$!ba;')." > + <sanitizer> + <valid initial="string.printable"> + <remove value="'"/> <!-- Removes single quotes --> + <remove value="/"/> <!-- Removes slashes --> + </valid> + <mapping initial="none"> + <add source="'" target="'"'"'" /> <!-- Escapes single quotes --> + <add source="/" target="\/"/> <!-- Escapes slashes --> + </mapping> + </sanitizer> + </param> </repeat> </inputs> <outputs> @@ -59,8 +70,11 @@ <tests> <test> <param name="infile" value="replace_text_in_line1.txt" /> - <param name="find_pattern" value="CTC." /> - <param name="replace_pattern" value="FOOBAR" /> + <repeat name="replacements"> + <param name="find_pattern" value="CTC." /> + <param name="replace_pattern" value="FOOBAR" /> + <param name="sed_options" value="" /> + </repeat> <output name="outfile" file="replace_text_in_line_results1.txt" /> </test> <test> @@ -68,13 +82,24 @@ <repeat name="replacements"> <param name="find_pattern" value="CTC." /> <param name="replace_pattern" value="FOOBAR" /> + <param name="sed_options" value="" /> </repeat> <repeat name="replacements"> <param name="find_pattern" value="chr" /> <param name="replace_pattern" value="domain" /> + <param name="sed_options" value="" /> </repeat> <output name="outfile" file="replace_text_in_line_results2.txt" /> </test> + <test> + <param name="infile" value="replace_text_in_line1.txt" /> + <repeat name="replacements"> + <param name="find_pattern" value="\n" /> + <param name="replace_pattern" value="" /> + <param name="sed_options" value=":a;N;$!ba" /> + </repeat> + <output name="outfile" file="replace_text_in_line_results3.txt" /> + </test> </tests> <help> <![CDATA[ @@ -155,7 +180,9 @@ - **\|** Separates alternate possibilities. -**Note**: SED uses extended regular expression syntax, not Perl syntax. **\\d**, **\\w**, **\\s** etc. are **not** supported. +**Note**: SED uses extended regular expression syntax, not Perl syntax. **\\d**, **\\w**, **\\s** etc. are **not** supported. However, you can use SED FAQ to perform commands using special characters. + More complex options can look like `sed -e '$!N;s/foo/bar/;'`. Here, `$!N;` is an optional part which you only need to set in very special cases. The `foo` part is the search string, and the `bar` part is the replacement string. + Please read the SED FAQ here: https://www.pement.org/sed/sedfaq3.html#s3.2 ]]> </help>