Sponsored Content
Top Forums Shell Programming and Scripting Replace double quotes with a single quote within a double quoted string Post 302900267 by Klashxx on Tuesday 6th of May 2014 02:19:08 AM
Old 05-06-2014
Hi @wisecracker, i just wanted tho show a practical usage of look-ahead/behid assertion, for me the important thing here is not the print statement and of course i can't guarantee python in all *nix boxes.

Also i didn't take care of just single double quotes fields.

Cheers.

Quote:
Originally Posted by wisecracker
Hi klashxx...

Just a couple of points here.
1) It looks as though you are using Python 2.x, (2.7.x), so your print statement would not
work on 3.x.x. Parentheses are needed to make 'print' a function 'print(your stuff here)'
2) Can you guarantee that all UNIX, Linux, CygWin etc, systems have a python version?

EDIT:-
To the OP is the part above the ^ character an error?
Code:
Last login: Mon May  5 19:09:15 on ttys000
AMIGA:barrywalker~> python
Python 2.7.1 (r271:86832, Aug  5 2011, 03:30:24) 
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>> text='''1234,"","qwerty",," abcd efg "h" bcd"efg
...  dfg",","","5"'''
>>> print text
1234,"","qwerty",," abcd efg "h" bcd"efg
 dfg",","","5"
>>> 
>>> 
>>> print re.sub(r'(?<![,\A])"(?!(?:(,|\Z)))',"'",text)
1234,"","qwerty",," abcd efg 'h' bcd'efg
 dfg",","","5"
>>> # ^ is this an error?
... # Should it be a "'"?
... 
>>> exit()
AMIGA:barrywalker~> _

This User Gave Thanks to Klashxx For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

single or double quote in SED

i m trying the following command but its not working: sed 's/find/\'replace\'/g' myFile but the sed enters into new line # sed 's/find/re\'place/g' myFile > I havn't any idea how to put single quote in my replace string. Your early help woud be appreciated. Thanx (2 Replies)
Discussion started by: asami
2 Replies

2. Shell Programming and Scripting

Double quotes or single quotes when using ssh?

I'm not very familiar with the ssh command. When I tried to set a variable and then echo its value on a remote machine via ssh, I found a problem. For example, $ ITSME=itsme $ ssh xxx.xxxx.xxx.xxx "ITSME=itsyou; echo $ITSME" itsme $ ssh xxx.xxxx.xxx.xxx 'ITSME=itsyou; echo $ITSME' itsyou $... (3 Replies)
Discussion started by: password636
3 Replies

3. Shell Programming and Scripting

Regex in grep to match all lines ending with a double quote (") OR a single quote (')

Hi, I've been trying to write a regex to use in egrep (in a shell script) that'll fetch the names of all the files that match a particular pattern. I expect to match the following line in a file: Name = "abc" The regex I'm using to match the same is: egrep -l '(^) *= *" ** *"$' /PATH_TO_SEARCH... (6 Replies)
Discussion started by: NanJ
6 Replies

4. Shell Programming and Scripting

Replace single quote with two single quotes in perl

Hi I want to replace single quote with two single quotes in a perl string. If the string is <It's Simpson's book> It should become <It''s Simpson''s book> (3 Replies)
Discussion started by: DushyantG
3 Replies

5. Shell Programming and Scripting

Replace double double quotes using AWK/SED

Hi, I have data as "01/22/97-"aaaaaaaaaaaaaaaaa""aaa""aabbbbbbbbcccccc""zbcd""dddddddddeeeeeeeeefffffff" I want to remove only the Consequitive double quotes and not the one which occurs single. My O/P must be ... (2 Replies)
Discussion started by: Bhuvaneswari
2 Replies

6. Shell Programming and Scripting

Issue with Single Quotes and Double Quotes for prompt PS1

Hi, Trying to change the prompt. I have the following code. export PS1=' <${USER}@`hostname -s`>$ ' The hostname is not displayed <abc@`hostname -s`>$ uname -a AIX xyz 1 6 00F736154C00 <adcwl4h@`hostname -s`>$ If I use double quotes, then the hostname is printed properly but... (3 Replies)
Discussion started by: bobbygsk
3 Replies

7. Shell Programming and Scripting

sed command to replace string that contain blackslash,double quotes

Hi All, I have been trying to replace a string using the sed command string value contain blackslash and double quotes. I am not a expert writer of unix script but do try not to ask question. I have almost given up. Hope you all can give me some suggestion I want to replace a place string... (6 Replies)
Discussion started by: thanush9sep
6 Replies

8. Shell Programming and Scripting

Replace Double quotes within double quotes in a column with space while loading a CSV file

Hi All, I'm unable to load the data using sql loader where there are double quotes within the double quotes As these are optionally enclosed by double quotes. Sample Data : "221100",138.00,"D","0019/1477","44012075","49938","49938/15043000","Television - 22" Refurbished - Airwave","Supply... (6 Replies)
Discussion started by: mlavanya
6 Replies

9. Shell Programming and Scripting

Replacing all but the first and last double quote in a line with a single quote with awk

From: 1,2,3,4,5,This is a test 6,7,8,9,0,"This, is a test" 1,9,2,8,3,"This is a ""test""" 4,7,3,1,8,"""" To: 1,2,3,4,5,This is a test 6,7,8,9,0,"This; is a test" 1,9,2,8,3,"This is a ''test''" 4,7,3,1,8,"''"Is there an easy syntax I'm overlooking? There will always be an odd number... (5 Replies)
Discussion started by: Michael Stora
5 Replies

10. Shell Programming and Scripting

Replace double quotes inside the string data for all the columns

Please use code tags Hi, I have input data is below format and n of column in the multiple flat files. the string data has any double quotes(") values replaced to double double quotes for all the columns{""). Also, my input flat file each column string data has carriage of new line too.... (14 Replies)
Discussion started by: SSrini
14 Replies
dpm_python(3)							 Python Reference						     dpm_python(3)

NAME
dpm - Python interface to the DPM SYNOPSIS
import dpm DESCRIPTION
The dpm module permits you to access the DPM client interface from python programs. The dpm module is a swig wrapping of the standard C interface. For detailed descriptions of each function see the individual man page of each function. There follows a series of examples of how to use selected functions and how to retrieve the information returned by them: Examples are listing the replicas of a given entry, reading the content of a directory, getting and setting ACLs. etc. EXAMPLE
#!/usr/bin/python """ # Using the dpns_readdirxr method """ import sys import dpm name = "/dpm/cern.ch/home/dteam/"; dir = dpm.dpns_opendirg(name,"") if (dir == None) or (dir == 0): err_num = dpm.cvar.serrno err_string = dpm.sstrerror(err_num) print "Error while looking for " + name + ": Error " + str(err_num) + " (" + err_string + ")" sys.exit(1) while 1: read_pt = dpm.dpns_readdirxr(dir,"") if (read_pt == None) or (read_pt == 0): break entry, list = read_pt print entry.d_name try: for i in range(len(list)): print " ==> %s" % list[i].sfn except TypeError, x: print " ==> None" dpm.dpns_closedir(dir) EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpns_getlinks method """ result, list = dpm.dpns_getlinks("/dpm/cern.ch/home/dteam/file.test", "") print result print len(list) if (result == 0): for i in list: print i.path EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpns_getreplica method """ result, list = dpm.dpns_getreplica("/dpm/cern.ch/home/dteam/file.test", "", "") print result print len(list) if (result == 0): for i in list: print i.host print i.sfn EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpns_getacl and dpns_setacl methods to add a user ACL """ nentries, acls_list = dpm.dpns_getacl("/dpm/cern.ch/home/dteam/file.test", dpm.CA_MAXACLENTRIES) print nentries print len(acls_list) for i in acls_list: print i.a_type print i.a_id print i.a_perm # When adding a first ACL for a given user, you also need to add the mask # When adding the second user ACL, it is not necessary anymore acl_user = dpm.dpns_acl() acl_mask = dpm.dpns_acl() acl_user.a_type=2 # 2 corresponds to CNS_ACL_USER acl_user.a_id=18701 # user id acl_user.a_perm=5 acl_mask.a_type=5 # 5 corresponds to CNS_ACL_MASK acl_mask.a_id=0 # no user id specified acl_mask.a_perm=5 acls_list.append(acl_user) acls_list.append(acl_mask) res = dpm.dpns_setacl("/dpm/cern.ch/home/dteam/file.test", acls_list) if res == 0: print "OK" else: err_num = dpm.cvar.serrno err_string = dpm.sstrerror(err_num) print "There was an error : Error " + str(err_num) + " (" + err_string + ")" sys.exit(1) EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpns_getacl and dpns_setacl methods to remove a user ACL """ nentries, acls_list = dpm.dpns_getacl("/dpm/cern.ch/home/dteam/file.test", dpm.CA_MAXACLENTRIES) # Note : you cannot remove the owner ACL (i.e. for CNS_ACL_USER_OBJ type) if # ====== ACLs for other users exist. If all the other user ACLs are deleted, # ====== the owner ACL is automatically removed. for i in acls_list: print i.a_type print i.a_id print i.a_perm del acls_list[1] # delete a given user ACL from the list of ACLs res = dpm.dpns_setacl("/dpm/cern.ch/home/dteam/file.test", acls_list) if res == 0: print "OK" else: err_num = dpm.cvar.serrno err_string = dpm.sstrerror(err_num) print "There was an error : Error " + str(err_num) + " (" + err_string + ")" sys.exit(1) EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpns_getusrmap method """ result, list = dpm.dpns_getusrmap() print result print len(list) if (result == 0): for i in list: print i.userid + " " + i.username EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpns_getgrpmap method """ result, list = dpm.dpns_getgrpmap() print result print len(list) if (result == 0): for i in list: print i.gid + " " + i.groupname EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_addfs method """ result = dpm.dpm_addfs("mypool", "mydiskserver.domain.com", "/mountpoint", dpm.FS_READONLY) print result EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_modifyfs method """ result = dpm.dpm_modifyfs("mydiskserver.domain.com", "/mountpoint", dpm.FS_READONLY) print result EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_rmfs method """ result = dpm.dpm_rmfs("mypool", "mydiskserver.domain.com", "/mountpoint") print result EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_addpool method """ dpmpool = dpm.dpm_pool() dpmpool.poolname = "mypool" dpmpool.defsize = 209715200 dpmpool.def_lifetime = 604800 dpmpool.defpintime = 604800 dpmpool.max_lifetime = 604800 dpmpool.max_pintime = 604800 dpmpool.nbgids = 1 dpmpool.gids = [0] dpmpool.ret_policy = 'R' dpmpool.s_type = 'D' result = dpm.dpm_addpool(dpmpool) print result EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_modifypool method """ dpmpool = dpm.dpm_pool() dpmpool.poolname = "mypool" dpmpool.defsize = 209715200 dpmpool.def_lifetime = 604800 dpmpool.defpintime = 604800 dpmpool.max_lifetime = 604800 dpmpool.max_pintime = 604800 dpmpool.nbgids = 1 dpmpool.gids = [0] dpmpool.ret_policy = 'R' dpmpool.s_type = 'D' result = dpm.dpm_modifypool(dpmpool) print result EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_rmpool method """ result = dpm.dpm_rmpool("mypool") print result EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_getpoolfs method """ result,list = dpm.dpm_getpoolfs("mypool") print result print len(list) if (result == 0): for i in list: print "POOL " + i.poolname + " SERVER " + i.server + " FS " + i.fs + " CAPACITY " + i.capacity + " FREE " + i.free EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_getpools method """ result,list = dpm.dpm_getpools() print result print len(list) if (result == 0): for i in list: print "POOL " + i.poolname + " CAPACITY " + i.capacity + " FREE " + i.free EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_getprotocols method """ result,list = dpm.dpm_getprotocols() print result print len(list) if (result == 0): for i in list: print i EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_getspacemd method """ result, list = dpm.dpm_getspacemd(["myspacetoken"]) print result print len(list) if (result == 0): for i in list: print "TYPE " + i.s_type + " SPACETOKEN " i.s_token + " USERTOKEN " + i.u_token + " TOTAL " + i.t_space + " GUARANTUEED " + i.g_space + " UNUSED " + i.u_space + " POOL " + i.poolname EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_getspacetoken method """ result, list = dpm.dpm_getspacetoken("myspacetokendesc") print result print len(list) if (result == 0): for i in list: print i EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_reservespace method """ result,actual_s_type,actual_t_space,actual_g_space,actual_lifetime,s_token = dpm.dpm_reservespace('D', "myspacetokendesc", 'R', 'O', 209715200, 209715200, 2592000, 0, "mypoolname") print result if (result == 0): print "TYPE " + actual_s_type + " TOTAL " + actual_t_space + " GUARANTEED " + actual_g_space + " LIFETIME " + actual_lifetime + " TOKEN " + s_token EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_updatespace method """ result,actual_t_space,actual_g_space,actual_lifetime = dpm.dpm_updatespace("myspacetoken", 209715200, 209715200, 2592000) print result if (result == 0): print " TOTAL " + actual_t_space + " GUARANTEED " + actual_g_space + " LIFETIME " + actual_lifetime EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_releasespace method """ result = dpm.dpm_releasespace("myspacetoken", 0) print result EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_ping method """ result,info = dpm.dpm_ping("mydpmserver.domain.com") print result if (result == 0): print info KNOWN BUGS
The current interface to the dpns_getcwd(3), dpns_readlink(3), dpns_seterrbuf(3) requires the passing of str object which is modified to contain the result (in a similar way to the C functions, which accept a buffer). However this breaks the immutability of python str. This will be changed in the future. SEE ALSO
DPM C interface man pages DPM
$Date: 2010-02-04 13:08:39 +0100 (Thu, 04 Feb 2010) $ dpm_python(3)
All times are GMT -4. The time now is 10:50 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy