我运行以下sed
命令来替换xml文件中的某些东西。sed:命令在SunOS中出现乱码
sed -e '/<AddName>/{ s;<AddName>;<ModifyName>;}' ${modified_name_file} > ${RESOURCES}/tempfile2.xml
这工作正常,在Linux,但在Solaris中有以下错误失败。
sed: command garbled: /<AddName>/{ s;<AddName>;<ModifyName>;}
我有很难有时间去想出解决办法。在SunOS中有没有其他方法可以做到这一点?
你可以尝试使用 “通常”'s'语法:'S// /'?使用其他字母可能是GNU扩展名,SunOS用户区非常严格地是POSIX。 –
大括号是相当不必要的。我怀疑Solaris是否需要在令牌之间的某个位置放置一个换行符,但是如果您修复了语法,以免它们变得不必要,那么代码也应该更具可移植性。只要'sed'// /'文件'不会修改任何不包含正则表达式''上匹配的行。 –
tripleee