Supress text


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Supress text
# 8  
Old 11-14-2014
Try:
Code:
perl -pe 's/\(+.*?\)+//g; s/([*"])+.*?\1+//g' file

This is using perl regex's lazy matching operator, .*? means a lazy (minimal) match of characters..

The assymetrical enclosing characters use a separate substitution command for each pair. In this case there are only parentheses. In the substitute command they are preceded by backslashes to use their literal meaning.

For the symmetrical enclosing characters in the second substution command, a backreference \1 is used to match the previously matched attribute from the enclosing characters class, in this case either * or ", but any number of characters can be added inside the square brackets. The character class is within parentheses (...)so it can be backreferenced later.


It can also be written more compactly:
Code:
perl -pe 's/\(+.*?\)+|([*"])+.*?\1+//g' file

using alternation (|)


If it is only these three cases then perhaps this is preferable:
Code:
perl -pe 's/\(+.*?\)+//g; s/\*+.*?\*+//g; s/"+.*?"+//g' file

Since it is somewhat easier to read..


Output:
Code:
Hello  Outside bracket 
          Hello (Open Bracket without closed
          Hello  
          Hello  
          Hello


--
For multiline sequences you could use:perl -00pe ....., or perl -0077pe .....so for example:
Code:
perl -00pe 's/\(+.*?\)+|([*"])+.*?\1+//g' file


Last edited by Scrutinizer; 11-14-2014 at 01:45 AM..
# 9  
Old 11-14-2014
With a sed command like:
Code:
sed -e 's/[(][^)]*[)]//g' -e 's/[*][^*]*[*]//g' -e 's/["][^"]*["]//g' file

and file containing:
Code:
Input : Hello (Within Bracket) Outside bracket ( within bracket)
          Hello (Open Bracket without closed
          Hello ****WORLD** 
          Hello *WORLD* 
          Hello "World"
*between*after asterisk(between)after parens"between"after quotes
Note that parens are matched 1st, asterisks are matched 2nd, and quotes
are matched last...
(*")"*"(*("*("

you get the output:
Code:
Input : Hello  Outside bracket 
          Hello (Open Bracket without closed
          Hello WORLD 
          Hello  
          Hello 
after asteriskafter parensafter quotes
Note that parens are matched 1st, asterisks are matched 2nd, and quotes
are matched last...
*("

Is this closer to what you're trying to do?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Supress the psswd from ps in ksh/bash

I am running the ETL job to passing the database username,pssswd positional arguments to shell script (bash) and how can we suppress/hide the password from ps command. (2 Replies)
Discussion started by: pimmit22043
2 Replies

2. Shell Programming and Scripting

awk to supress error message with custom text

After a bash function is run the below file is produced: out_name.txt tab-delimeted Input Errors and warnings AccNo Genesymbol Variant Reference Sequence Start Descr. Coding DNA Descr. Protein Descr. GeneSymbol Coding DNA Descr. GeneSymbol Protein Descr. Genomic... (3 Replies)
Discussion started by: cmccabe
3 Replies

3. Shell Programming and Scripting

To Supress *

Hi Team , I want supress the meaning of * while passing it as parameter. I have file which contains file format and destination directory. let say abc* |/home/xyz I had function which will read these values and pass it to another function. Code looks like below func1 () {... (6 Replies)
Discussion started by: gvkumar25
6 Replies

4. Shell Programming and Scripting

AWk - supress warning

Hi, I am trying to run a script using awk and sed a few times. The script itself seems to work fine but in a final awk statement it throws up a warning: awk: warning: escape sequence `\.' treated as plain `.' script: ... (3 Replies)
Discussion started by: HugoDarley
3 Replies

5. Shell Programming and Scripting

supress error messages

Hi I have a script which connects to oracle using sqlplus if ! check_sqlplus "$ORACLE_SID" ; then echo "Unable to use sqlplus for sid $ORACLE_SID" return 1 else echo "attempting to connect to database" echo $ORACLE_HOME echo $ORACLE_SID echo "Status before entering... (2 Replies)
Discussion started by: xiamin
2 Replies

6. Shell Programming and Scripting

how to supress the trace

Hi I am working in ksh and getting the trace after trying to remove the file which in some cases does not exist: $ my_script loadfirm.dta.master: No such file or directory The code inside the script which produces this trace is the following: ] || rm ${FILE}.master >> /dev/null for... (3 Replies)
Discussion started by: aoussenko
3 Replies

7. UNIX for Advanced & Expert Users

Supress error message

Hi All this is a simple script #! /bin/bash FileCnt=`ls -lrt $DIR/* | wc -l` echo $FileCnt how could i escape the error msg if there are no files in $DIR ls: /home/sayantan/test/files/cnt/*: No such file or directory 0 Looking forward for a quick reply Regards, Newbie (2 Replies)
Discussion started by: newbie07
2 Replies

8. Shell Programming and Scripting

How do I supress certian output with find?

I am using this command find . -type f -mmin "+$t" > holder Unfortunatley that is also printing files that begin with a period. Such as .bash_history. What can I do to supress files that begin with a period? (1 Reply)
Discussion started by: chrchcol
1 Replies

9. UNIX for Advanced & Expert Users

Supress special chars in vi

Hi, One of our application is producing log files. But if we open the log file in vi or less or view mode, it shows all the special characters in it. The 'cat' shows correctly but it shows only last page. If I do 'cat' <file_name> | more, then again it shows special characters. ... (1 Reply)
Discussion started by: divakarp
1 Replies

10. UNIX for Dummies Questions & Answers

Supress screen output...

I need to suppress the output to the screen. I am appending to a file so do not need the output on the screen in the CLI environment. eg. cat $HOME/somefile >> $HOME/anotherfile I am doing this a number of times with SQL output files so I can look at the finished file not on the screen in the... (3 Replies)
Discussion started by: jagannatha
3 Replies
Login or Register to Ask a Question