Sponsored Content
Top Forums Shell Programming and Scripting How to handle variable with special character? Post 303026210 by bakunin on Wednesday 21st of November 2018 05:49:04 PM
Old 11-21-2018
Quote:
Originally Posted by green_k
the variable is "v$xyz",
No, it is not. A "variable" is something like "$name" or "${name}", where "name" is a name you choose. "$xyz" might be a variable, but "v$xyz" is a literal "v" followed by the content of a variable with the name "xyz".

Quote:
Originally Posted by green_k
the file name like v$xyz_xxxx_xxxx.txt.
OK, but is the "$xyz" in this filename now meant literally or should that signify the variable portion of the filename which you want to transport via the variable? If the first is the case a simple quotation will suffice, because this is what it is for - inside of (single) quotes the "$" loses its special meaning to the shell and reverts back to a normal character:

Code:
ls -l v$xyz_xxxx_xxxx.txt

will first replace "$xyz_xxxx_xxxx" with the content of a variable named "xyz_xxxx_xxxx" (which most probably will not exist so that it evaluates to "", the empty string) and therefore search for a file named "v.txt". Whereas:

Code:
ls -l 'v$xyz_xxxx_xxxx.txt'

(notice the single quotes) will look for a file named exactly this: "v$xyz_xxxx_xxxx.txt".

If "$xyz" is a variable and you want to use that as the changing part of an otherwise fixed filename then this code snippet is for you:

Code:
xyz="some$thing"
ls -l "v${xyz}_xxxx_xxxx.txt"

This will search for a file name "vsome$thing_xxxx_xxxx.txt". Because of the braces around "xyz" the shell knows that only this (and not the rest of the string) is the name of the variable. Notice the double quotes: you should habitually double-quote every use of any variable - ever and always! (There are only very few exceptions to this rule of thumb.) This way blanks (yes, filename can contain blanks) will not break your script.

I hope this helps.

bakunin
 

10 More Discussions You Might Find Interesting

1. Programming

special character ?

hey there im a bit stuck on executing commands that include the special character '?'. can someone recommend a way on how i would be able to execute it?? i thought the glob function could be useful (still mite be) but upon entering the command 'ls pars?' it listed all the files in the... (1 Reply)
Discussion started by: mile1982
1 Replies

2. Shell Programming and Scripting

How ro handle backslash character in grep?

Hi , I am doing invert grep using -v but the string contain "/" which break the grep command and it do not skip the lines with "/" on it. Diffu.txt ======== 1159c1159 < <td align="right" valign="middle" class="paddingRight2px" id="featureListItemChannelButton7466"> --- > <td... (1 Reply)
Discussion started by: rajbal
1 Replies

3. Shell Programming and Scripting

special character

Hi, I am trying to unload file from a database. Which contains few lines with the character below. Rest of the data was unloaded appropriately. a) What does this below character means? b) How can i remove it, I already have sed '/^$/d' c) Will this effect the file by any means... (4 Replies)
Discussion started by: tostay2003
4 Replies

4. Shell Programming and Scripting

Special character \

Hi, In the shell script, i need to remove the special charater "\" with "\\". For example, i need to replace "D:\FXT\ABC.TXT" with "D:\\FXT\\ABC.TXT". However, when trying to do something like , i get the below error :- -->echo "D:\FXT\ABC.TXT" | sed -e 's#\#\\#g' sed: 0602-404 Function... (7 Replies)
Discussion started by: amit_arora
7 Replies

5. Shell Programming and Scripting

Deleteing one character after an special character

I have below line in a unix file, I want to delete one character after "Â". 20091020.Non-Agency CMO Daily Trade Recap Â~V Hybrids The result should be : 20091020.Non-Agency CMO Daily Trade Recap  Hybrids i dont want to use "~V" anywhere in the sed command or any other command, just remove... (1 Reply)
Discussion started by: mohsin.quazi
1 Replies

6. Shell Programming and Scripting

How to handle variable with spaces in ksh

I'm having issue capturing a value from file.list with a multiple spaces in a variable $i, tried various options like using double quotes, no quotes, single quotes, curly braces but to no avail. cat file.list aaa test bbb ccc test ddd eee test fff for i in `cat file.list` do echo "$i";... (2 Replies)
Discussion started by: mbak
2 Replies

7. Shell Programming and Scripting

How to substitute variable in sed for special character?

Hi , I have input file like below Hi this is "vinoth". Hi happy to work with 'unix' USA(united states of America) My script variables are below : Dquote=Ộ Squote=&#$567 Obrac=&^986 Cbrac=&^745 I want to read the variables in my SED command to replace the double quote,single... (9 Replies)
Discussion started by: vinothsekark
9 Replies

8. Shell Programming and Scripting

Vi special character

When editing a file, vi displays a special character as ^L. Can you tell me the escaped character to be used in awk? And can that escaped character be used in a regexp in both sed and awk? (7 Replies)
Discussion started by: dmesserly
7 Replies

9. Shell Programming and Scripting

Handle special characters in awk -F

Hello Folks, Need to bisect strings based on a subset. Below works good. echo /a/b/c/d | awk -F"/c/d$" '{print $1}' /a/b However, it goes awry with special characters. echo /a/b/c+/d | awk -F"/c+/d$" '{print $1}' /a/b/c+/d Desired output: /a/b Escaping the special characters... (11 Replies)
Discussion started by: vibhor_agarwali
11 Replies

10. UNIX for Beginners Questions & Answers

Special character $$

Hi, on ksh What does the following do? grep -v "toolbox" $home_oracle/.profile >$home_oracle/.profile.$$ Thanks. Please use CODE tags as required by forum rules! (3 Replies)
Discussion started by: big123456
3 Replies
RSOCKD(8)						      System Manager's Manual							 RSOCKD(8)

NAME
rsockd - SOCKSified SOCKS server SYNOPSIS
rsockd [ -ver | -i | -I ] DESCRIPTION
rsockd is the SOCKSified version of the SOCKS server sockd. Functionally rsockd is identical to sockd except that it may (though not nec- essarily has to) make use of other SOCKS servers to reach some destinations. A number of rsockd's can be strung together or organized in a cascade or other more complicated structures to serve the needs of a particular network configuration and restrictions. Obviously this complicates the issues and make the setup and maintenance of the firewall more difficult. So use sockd instead whenever you can. This document only describes the features of rsockd that are different from sockd. You should read sockd(5) carefully to gain a basic understanding of of how the SOCKS server works. When rsockd receives a request, it checks the request again its configuration (in exactly the same way that sockd does) to decider whether the request is to be accepted. The primary difference between sockd and rsockd is in how they establish connection to the destination host of a accepted request. sockd assumes that it can connect directly to the destination host and proceeds to do so. rsockd makes no such assumption. Instead, it consults another configuration file to decide whether it can connect directly to the particular destination host or whether it has to use a proxy connection through another SOCKS server. In other words, it behaves just like a versatile SOCKS client in this regard. Therefore rsockd requires not only the SOCKS server configuration file /etc/sockd.fc or /etc/sockd.conf to decide whether to accept or reject a request, but also the client configuration file /etc/socks.fc or /etc/socks.conf to decide how to reach the destination host. If it is a multi-homed version and supports RBIND, it also needs the route file /etc/sockd.fr or /etc/sockd.fr to decide which net- work interface to use for a connection. Look at it in a different way, you can think of sockd as a special case of rsockd, one which can connect directly to all destination hosts. In fact, an rsockd using the client configuration consisting of only this line direct ALL 0.0.0.0 is functinally identical to the regular sockd. Anther thing to mention is related to the use of identd. Only the SOCKS server which the requesting host directly connects to can find out the identity of the real user. Suppose user x on host C connects to rsockd on server B which in turn connects to sockd on server A in order to reach destination z. Host B can query identd on host C to find out whether the user is indeed x. To host A, the request appears to orig- inate from user x on host B. An identd query from Host A to host B returns the userid that owns the rsockd process on host B, not the real user x. OPTIONS
See sockd(8). EXAMPLES
The follwoing is an example of the client configuration file. See related man pages for examples on server configuration and route files. # /etc/socks.conf for rsockd of domain rnd.xyz.com # # Use proxy connection through SOCKS server on socks.market.xyz.com # to reach hosts within market.xyz.com sockd @=socks.market.xyz.com .market.xyz.com 0.0.0.0 # # Use direct connect to all other hosts within xyz.com direct .xyz.com 0.0.0.0 # # Use proxy connection through SOCKS server on gateway.xyz.com # to reach all others sockd @=gateway.xyz.com ALL 0.0.0.0 FILES
/etc/sockd.fc, /etc/sockd.conf, /etc/sockd.fr, /etc/sockd.route, /etc/socks.fc, /etc/socks.conf, /etc/inetd.conf, /etc/services, /var/adm/messages, /etc/syslog.conf SEE ALSO
sockd(8), socks_clients(1), sockd.conf(5), sockd.route(5), socks.conf(5), make_sockdfc(8), make_sockdfr(8), dump_sockdfc(8), dump_sockdfr(8) AUTHOR
Ying-Da Lee, ylee@syl.dl.nec.com May 6, 1996 RSOCKD(8)
All times are GMT -4. The time now is 05:20 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy