答案1
问题:
Sed 无法将[\s]+
空格字符序列识别为。
解决方案:
perl -i -lpe "s/\s+$//" 171.ExcelSheetColumnNumber.py
或者:
sed -i -r "s/\s+$//" 171.ExcelSheetColumnNumber.py
或者:
sed -i "s/\s\s*$//" 171.ExcelSheetColumnNumber.py
或者,按照钢铁司机的建议:
sed -i "s/[ \t]*$//" 171.ExcelSheetColumnNumber.py
解释:
[\s]
表示\
或s
为普通的 sed,而+
表示文字+
。- 删除方括号,因为在此特定情况下它们是不必要的。
- 使用能够理解您熟悉的语法的工具:Perl。
或者,在 sed 中启用扩展正则表达式(仍然与 Perl 不同)。
-E, -r, --regexp-extended use extended regular expressions in the script (for portability use POSIX -E).
- 或者,修改您的表达式以仅使用常规 sed: 识别的符号,
*
而不是+
。