Windows 下的 Unix 行结尾

Unix line endings under Windows

我需要在我的 Windows 环境中生成一个带有 Unix 行结尾 (\n) 的文件。尽管有 fconfigure 命令,但以下脚本仍然生成默认的 Windows 行结尾。我该如何解决这个问题?

set fid [open "myfile.txt" "WRONLY CREAT TRUNC"]
fconfigure $fid -eofchar \n
puts $fid "hello"
close $fid

您需要在该频道上配置 -translation lf。 (binary 也可以,但是 shorthand 还会更改频道的其他功能,例如编码和 EOF 标记。)

fconfigure $fid -translation lf

不要将-eofchar设置为换行;那不太可能是你想要的! (它对输出也不是那么重要;我们不会在您关闭文件时自动写入 EOF 标记。)

可能需要澄清一下:-eofchar 用于 end-of-file,而 OP 需要设置 end-of-line 个字符。