最佳答案
作为 给脚本着色的核心,我运行了几个替换命令。
其中一个 sed
命令使用一个正则表达式,该表达式在 shell 中作为 在这里讨论工作。可以找到当前(不工作的)实现 给你。
当我将命令的一个变体包含到脚本中时,会发生不同的行为:
变种一:
$ sed -re "s/([a-zA-Z0-9./\\ :-]+)/\1/g"
改编自剧本:
-re "s/WARNING: ([a-zA-Z0-9./\\ :-]+)/${warn}WARNING: \1${c_end}/g" \
错误: shell 输出的信息与我键入 $ sed
时的信息相同。奇怪! ?
变种2:
$ sed -e "s/\([a-zA-Z0-9./\\ :-]\+\)/\1/g"
改编自剧本:
-e "s/WARNING: \([a-zA-Z0-9./\\ :-]\+\)/${warn}WARNING: \1${c_end}/g" \
错误:
Sed:-e 表达式 # 7,char 59: ‘ s’命令的 RHS 上的引用1无效