删除尾随字符串

Remove trailing string

在 bash 脚本中,我有以下命令删除文件最后一行的尾随 \r\n

# Copy the new last line but remove trailing \r\n
tail -1 $TMPOUT | perl -p -i -e 's/\r\n$//' >>$TMPOUT.1

它目前正在使用 Perl trim \r\n 关闭,但是我需要 运行 打开的目标系统将没有 Perl 或任何其他脚本(uClinux/Busybox嵌入式设备)。

如何在 'pure' bash 中实现同样的效果?

然后使用tr命令,

tail -1 $TMPOUT|tr -d '\r\n'

这个 sed 应该有效:

sed -i.bak -n $'$s/\r$//p' "$TMPOUT"