使用Sed删除前导和尾随空格的问题

use*_*299 2 regex unix linux pattern-matching matching

我使用以下代码从文件A.txt的所有行中删除前导和尾随空格

sed 's/^[ \t]*//;s/[ \t]*$//' ./A.txt > ./B.txt
Run Code Online (Sandbox Code Playgroud)

问题出现在开头或结尾有的位置.所以说例如,以字符串"timezone"开头的原始行变为"imezone"

你能告诉我这里发生了什么吗?如果有一个已知的问题解决方案.

提前致谢.

Chr*_*odd 6

某些旧版本的sed不理解C风格的转义字符,例如\ t,并将其视为两个字符,'\'和't'.您可以通过使用文字制表符来避免此问题 - 如果您直接在shell中键入,请键入Ctrl+V Tab.

  • "Ctrl + V Tab"为+1.我从来不知道.:-D (2认同)