Bash 替换文件内容中的$
在unix中,如何替换文件中所有行中的$symbol(仅在字母之间) 示例文件内容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
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]