我有一个命令similiar这这一个:使用sed转义单引号和双引号。 geed,查找,xargs的
find ./ -type f | xargs gsed -i -r 's/[$][A-Za-z_\'"]/testing
我想将这个命令的工作。不幸的是,单引号和双引号打破了命令。我怎样才能逃避这个字符串,并使这个命令工作?
此问题与此one相同,因为我在[。但是如果一个小改动解决了这个问题,我想知道。
我曾尝试过几种不同的方式,使用@,#,\,但没有成功。
我有一个命令similiar这这一个:使用sed转义单引号和双引号。 geed,查找,xargs的
find ./ -type f | xargs gsed -i -r 's/[$][A-Za-z_\'"]/testing
我想将这个命令的工作。不幸的是,单引号和双引号打破了命令。我怎样才能逃避这个字符串,并使这个命令工作?
此问题与此one相同,因为我在[。但是如果一个小改动解决了这个问题,我想知道。
我曾尝试过几种不同的方式,使用@,#,\,但没有成功。
起飞看这个:
kent$ cat file
''''''
""""""
kent$ sed 's/\x27/single /g;s/\x22/double /g' file
single single single single single single
double double double double double double
所以,改变你的cmd进入:
find ./ -type f | xargs gsed -i -r 's/[$][A-Za-z_\x22\x27]/testing'
注我没有检查,如果查找/ xargs的一部分OK,只是单/双引号部分。
您不能在单引号中使用单引号。您可以:
结束的单引号,然后用一个反斜杠报价:'...'\'
结束的单引号,然后在双引号中使用单引号:'...'"'"
或者你可以尝试把sed脚本在双引号和转义需要转义
gsed -i -r "s/[$][A-Za-z_'\"]/testing/"
什么