Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 替换文件内容中的$_Bash_Shell_Unix_Ksh - Fatal编程技术网

Bash 替换文件内容中的$

Bash 替换文件内容中的$,bash,shell,unix,ksh,Bash,Shell,Unix,Ksh,在unix中,如何替换文件中所有行中的$symbol(仅在字母之间) 示例文件内容 abcd$efg abc$_efg abc123_$1def 样本输出应为 abcd_efg abc$_efg abc123_$1def 您可以像这样使用sed: $ echo 'abcd$efg abc$_efg abc123_$1def' | sed 's/\([[:alpha:]]\)\$\([[:alpha:]]\)/\1_\2/g' 印刷品: abcd_efg abc$_efg abc123_$1

在unix中,如何替换文件中所有行中的$symbol(仅在字母之间)

示例文件内容

abcd$efg
abc$_efg
abc123_$1def
样本输出应为

abcd_efg
abc$_efg
abc123_$1def

您可以像这样使用
sed

$ echo 'abcd$efg
abc$_efg
abc123_$1def' | sed 's/\([[:alpha:]]\)\$\([[:alpha:]]\)/\1_\2/g'
印刷品:

abcd_efg
abc$_efg
abc123_$1def

\1
\2
替换
$
边界的字符,因为
sed
缺少环视

sed's/\([a-zA-Z]\)\$\([a-zA-Z]\)/\1\u2/'
1\u2代表什么?@vignesh您可能需要阅读本指南:sed-20个示例,从file@dawg,您可以使用
[[:alpha:]
代替
[a-zA-Z]