从文件中删除尾随空白

从文件中删除尾随空白

我正在尝试使用 shell 脚本删除文本文件中每条记录末尾的尾随空白。假设文件中有以下列:

123 456 789' '   
234 567 890' '

期望的输出:

123 456 789   
234 567 890

我尝试过tr -d ' ',但它删除了行中的所有空白。使用时sed 's/[[:blank:]]+$//g',它将记录放在同一行中。

答案1

为了GNU-sed

使用:

sed 's/[[:blank:]]\+$//g'

代替sed 's/[[:blank:]]+$//g'

(注意\前面的+

如果您不想使用反斜杠在......面前加号,您可以将--regexp-extended-E简称)与您的sed命令一起使用,如下所示:

sed -E 's/[[:blank:]]+$//g'

更新:问题是您没有使用GNU sed;你的sed似乎是这个

为您” sed

尝试这个:

sed -e 's/[:blank:]+$//g'

或者也可以使用双括号:

sed -e 's/[[:blank:]]+$//g'

(我刚刚浏览了它的文档,但是现在,有了这些理解和信息,您应该能够为“您的”编写正确的命令sed

答案2

方法是

<input.txt sed -r 's/ +$//g' >output.txt

相关内容