Sponsored Content
Top Forums Shell Programming and Scripting Auto escape script to escape special chars in script args Post 302854873 by LMHmedchem on Wednesday 18th of September 2013 01:28:26 PM
Old 09-18-2013
Auto escape script to escape special chars in script args

This is a bit off the wall, but I often need to run scripts where there are argument values that contain special characters.

For example,
Code:
$ ./process.exe -t M -N -o temp.mol.s -i ../molfiles/N,N\',N\'\'-trimethylbis\(hexamethylene\)triamine.mol && sfile_space_to_tab.sh  temp.mol.s temp.s

It is tedious to manually escape everything and auto complete does not always solve this problem.

I was wondering if I could write a script and pass my entire command string to the script. I would keep the script in a path directory and the script would escape chars where necessary and then pass the string along to bash. The syntax could look like,

Code:
$ auto_escape ./process.exe -t M -N -o temp.mol.s -i ../molfiles/N,N\',N\'\'-trimethylbis\(hexamethylene\)triamine.mol && sfile_space_to_tab.sh  temp.mol.s temp.s

I think I could do the substitutions in sed, but I'm not sure how to capture everything after auto_escape and pass that to sed.

A bigger issue is how to keep the notion of pwd in tact. The pwd locations of process.exe and auto_escape will be different, so when bash recieves the string from the auto_escape script, I'm not sure how I could get bash to properly interpret ./, ../ etc, in terms of the original script location.

Thanks for the advice,

LMHmedchem
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Need help to escape special characters in Korn shell script

Hi, I would like to display the following message from my shell (Korn) script Copy "old_file.txt" to "new_file.txt" My code looks as follows print "Copy "old_file.txt" to "new_file.txt"" However, when I execute the script, I get the following output Copy old_file.txt to... (6 Replies)
Discussion started by: rogers42
6 Replies

2. Shell Programming and Scripting

awk print $1 escape all special characters

I'm using awk '{print $1}' and it works most of the time to print the contents of a mysql query loop, but occationally I get a field with some special character in it, is there a way to tell awk to ignore all special characters between my FS? I have >186K records, so building a list of ALL special... (6 Replies)
Discussion started by: unclecameron
6 Replies

3. Shell Programming and Scripting

Need help with sed to escape special characters

Hello Everyone, I need to read an encrypted password from the user and update that value in an xml file. I am trying to use "sed" for searching the appropriate tag and replacing this new value that get from the user. Since the encrypted password can contain special characters(like /,\,&,etc),... (4 Replies)
Discussion started by: majose
4 Replies

4. Shell Programming and Scripting

Escape special characters in SED

Need help in escaping special characters in sed command. Here is the the string which i am trying to find a replace with From :- REQUEST_TYPE=PIXEL&MSG_ID={//MESSAGE_ID} To :- REQUEST_TYPE=PIXEL&MSG_ID= X_EDELIVERY_MESSAGE_ID & BATCH_ID= X_EDELIVERY_BATCH_ID Here is the sed command i am... (2 Replies)
Discussion started by: aakishore
2 Replies

5. Shell Programming and Scripting

How to escape Special Characters in Expect programming?

Hi, I have written a unix expect utility "ssh-login.exp" which connects (ssh) to remote host and execute some shell script. I am calling this "ssh-login.exp" utility from another shell script. "ssh-login.exp" takes username, password, host and shell script path to execute on remote host. All... (1 Reply)
Discussion started by: Mahesh Desai
1 Replies

6. Shell Programming and Scripting

Escape special character

Hi, How to use * in call to pl/sql block from shell script? The line "select * from" is causing all files and directiores to show up in email notification but if I give all column names then it works, Please let me know how to use '*' instead of giving all column names, in other wirds how to... (2 Replies)
Discussion started by: sandy162
2 Replies

7. UNIX for Advanced & Expert Users

Escape special character

My input is: jdbc:Oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.147.109.211)(PORT=1526))(CONNECT_DAT A=(SID= MWDBD22))) In the search pattern, ( and ) and . and @ are special RE, and need to be escaped \( and \) and \. and \@ how can i do it by script or command (9 Replies)
Discussion started by: arindam guha
9 Replies

8. Shell Programming and Scripting

Escape chars not working

Hi, i'm working on Linux 2.6.9-55.EL #1 version. Unable to use escape chars like \n, \t, etc. They don't work whn embedded in shell script. Pls help. shell script: echo "Hello $USER" echo "Today is \n ";date output: Hello linux1 Today is \n Thu Jul 3 12:01:31 IST 2014 (2 Replies)
Discussion started by: sam_bd
2 Replies

9. Shell Programming and Scripting

How to escape all special characters?

I have an application which I am integrating with that accepts the password via a CLI. I am running in to issues with passwords that contain special characters. I tried to escape them all, but I ran in to an issue where I cannot escape the characters ' ] My attempt is as follows: $... (2 Replies)
Discussion started by: AMG1978
2 Replies

10. UNIX for Beginners Questions & Answers

Shell script to split data with a delimiter having chars and special chars

Hi Team, I have a file a1.txt with data as follows. dfjakjf...asdfkasj</EnableQuotedIDs><SQL><SelectStatement modified='1' type='string'><! The delimiter string: <SelectStatement modified='1' type='string'><! dlm="<SelectStatement modified='1' type='string'><! The above command is... (7 Replies)
Discussion started by: kmanivan82
7 Replies
ustrtok(3alleg4)						  Allegro manual						  ustrtok(3alleg4)

NAME
ustrtok - Retrieves tokens from a string. Allegro game programming library. SYNOPSIS
#include <allegro.h> char *ustrtok(char *s, const char *set); DESCRIPTION
This function retrieves tokens from `s' which are delimited by characters from `set'. To initiate the search, pass the string to be searched as `s'. For the remaining tokens, pass NULL instead. Warning: Since ustrtok alters the string it is parsing, you should always copy the string to a temporary buffer before parsing it. Also, this function is not re-entrant (ie. you cannot parse two strings at the same time). Example: char *word; char string[]="some-words with dashes"; char *temp = ustrdup(string); word = ustrtok(temp, " -"); while (word) { allegro_message("Found `%s' ", word); word = ustrtok(NULL, " -"); } free(temp); RETURN VALUE
Returns a pointer to the token, or NULL if no more are found. SEE ALSO
uconvert(3alleg4), ustrchr(3alleg4), ustrrchr(3alleg4), ustrstr(3alleg4), ustrpbrk(3alleg4), ustrtok_r(3alleg4), allegro_message(3alleg4), ustrncpy(3alleg4), exgui(3alleg4) Allegro version 4.4.2 ustrtok(3alleg4)
All times are GMT -4. The time now is 06:39 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy