Sponsored Content
Top Forums UNIX for Advanced & Expert Users Substitution when special charcters involved Post 302257871 by bakunin on Thursday 13th of November 2008 09:07:59 AM
Old 11-13-2008
Then you will have to do it in the variables contents. You could write a library function (make_regexp()) out of it, which gets a string and escapes it properly:

Code:
function pMakeRegexp
{
if [ $# -ne 1 ] ; then
     return 1
fi

# add to the characters in the bracket if i have overlooked one
print - "$1" | sed 's/[/\&^*.$]/\\&/g'

return 0
}

# main
typeset var="some \ special ^ characters / are & here"
typeset regex_var="$(pMakeRegexp "$var")"

print - "var is \"$var\" // regexed var is \"$regex_var\""
print - "xx $var xx" | sed "s/$regex_var/=&=/"

exit 0

As you can see the regexed version "$regex_var" matches normal version "$var" and the replacement (adding the equal signs before and after) is taking place. Similarily you can put the replacement string through pMakeRegexp() too.

I hope this helps.

bakunin
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Help! a free Sprite is involved!

Can anyone define the following for me? /etc/rc.c/init.d/iptables restart Our resident "Geek" is giving away a prize if I can tell him what this means. (5 Replies)
Discussion started by: txyzzy
5 Replies

2. HP-UX

How to check patches involved

Hi I need to check if the following patches are installed in a HP-UX machine "GOLDQPK11i, which in turn includes both GOLDAPPS11i and GLODBASE11i How can I go about doing it, am still a struggling sys admin! Saw this command showrev -p but command not found in the machine thou! Thanks... (3 Replies)
Discussion started by: gelbvonn
3 Replies

3. Solaris

Handling Special Charcters

Dear All, I have created a UTF-8 database to store multi-lingual charcters. Below is the query from which i insert from Winsql (front-end third party database browser tool), the data gets inserted properly. insert into a (no, lbl) values (1, "Cliquez ici pour revenir Ã_ la recherche de... (2 Replies)
Discussion started by: lloydnwo
2 Replies

4. UNIX for Advanced & Expert Users

remove charcters

How do i remove single quotes(') from a file. Can we use sed for it (2 Replies)
Discussion started by: kris01752
2 Replies

5. UNIX for Advanced & Expert Users

Line Longer Than 2048 Charcters

I have a csv file with a record size of greater than 2048.So when i try to open the file in VI..This is the error i get (test.csv" A line cannot be longer than 2048 characters) Is there a way i can change this parameter to read a bigger line (2 Replies)
Discussion started by: kris01752
2 Replies

6. Shell Programming and Scripting

cat in linux, file holding special charcters

Hi I'd like to cat, in linux, a file that holds special charcters, like "-->" and ">" and "]" For example I have a file named test123.txt it looks like this: 2008-09-11 00:27:01,496 - < 0 > --> Start calculation of pattern , Pattern was split to pattern graphs < 0 > System Tqls Optimizer... (5 Replies)
Discussion started by: liav
5 Replies

7. Solaris

nestat on server involved in high traffic network

Hi All My Server is doing a very intense netowrk traffic operations and the cards are under very high pressure. I need to call NETSTAT on the shell. Do you know whether this command, under high pressure, might have some impact on the server traffic or can I proceed without any problem? (2 Replies)
Discussion started by: manustone
2 Replies

8. UNIX for Dummies Questions & Answers

Meta charcters

Find out lines in a given file consisting of the following pattern BCAA, BCAAA, BCAAAA, BCAAAAA, BCAAAAAA (0 Replies)
Discussion started by: Phaneendra G
0 Replies

9. Homework & Coursework Questions

Meta charcters

find out lines in a given file consisting of the following pattern BCAA, BCAAA, BCAAAA, BCAAAAA, BCAAAAAA (1 Reply)
Discussion started by: Phaneendra G
1 Replies

10. Shell Programming and Scripting

awk statement to grep (bit involved)

Hellow: I have the following data. id1 xxx xxx xxx id1 xxxx xxx xxx id2 xxx xxx xxx id2 xxxx xxx xxx id2 In my awk script which reads the file containing the above data I have the following code: myline=<inputdata> which is shown above What I am trying to find out is how may... (5 Replies)
Discussion started by: wincrazy
5 Replies
escape(1)							Mail Avenger 0.8.3							 escape(1)

NAME
escape - escape shell special characters in a string SYNOPSIS
escape string DESCRIPTION
escape prepends a "" character to all shell special characters in string, making it safe to compose a shell command with the result. EXAMPLES
The following is a contrived example showing how one can unintentionally end up executing the contents of a string: $ var='; echo gotcha!' $ eval echo hi $var hi gotcha! $ Using escape, one can avoid executing the contents of $var: $ eval echo hi `escape "$var"` hi ; echo gotcha! $ A less contrived example is passing arguments to Mail Avenger bodytest commands containing possibly unsafe environment variables. For example, you might write a hypothetical reject_bcc script to reject mail not explicitly addressed to the recipient: #!/bin/sh formail -x to -x cc -x resent-to -x resent-cc | fgrep "$1" > /dev/null && exit 0 echo "<$1>.. address does not accept blind carbon copies" exit 100 To invoke this script, passing it the recipient address as an argument, you would need to put the following in your Mail Avenger rcpt script: bodytest reject_bcc `escape "$RECIPIENT"` SEE ALSO
avenger(1), The Mail Avenger home page: <http://www.mailavenger.org/>. BUGS
escape is designed for the Bourne shell, which is what Mail Avenger scripts use. escape might or might not work with other shells. AUTHOR
David Mazieres Mail Avenger 0.8.3 2012-04-05 escape(1)
All times are GMT -4. The time now is 04:44 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy