问题标签 [line-endings]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
434 浏览

emacs - 使用 Tramp(在 Windows 上)连接到 Ubuntu 服务器时的 ^M 个字符

我已经在我的 Windows 7 机器(64 位)上的 Emacs 上设置了 Tramp。对于这个测试,这是我的 emacs-config 中唯一的东西:

(setq tramp-default-method "plink")

然后我连接到在本地网络上的 VM 中运行的 Ubuntu Server 9.10。

连接正常,我可以使用 dired 浏览文件夹和打开文件。耶!

但是, git status 显示为:

git:master^M

当我打开 speedbar 时,所有文件夹和文件都以 ^M 结尾,即:

<+> 配置/^M

有谁知道如何防止这种行尾冲突的发生?

0 投票
2 回答
2534 浏览

vim - 使用 vim 编辑最后一行没有 EOL 标记但具有 CRLF 行结尾的文件

我经常需要编辑脚本文件,其解释器将在文件最后一行具有 EOL 标记的文件视为错误(即文件将 CRLF 视为“换行符”,而不是“行尾”)。

目前,我在 Vim 中使用二进制模式(命令行上的 -b)打开这些文件。它会自动检测最后一行缺少 EOL 并适当地设置“noeol”选项,从而防止它在最后一行写入 EOL。

因为文件有 CRLF 行尾,所以我在行尾有很多^Ms (因为它似乎只以二进制模式解释 Unix 风格的行尾)。我无法在文本模式下打开它,因为非二进制文件会忽略“noeol”选项。

这很烦人,我总是要记住^M在每行的末尾手动输入!有什么方法可以强制它在二进制模式下接受 DOS 样式的行尾,或者强制它在文本模式下听 EOL 选项?

0 投票
7 回答
20802 浏览

python - 如何检测文件中的 DOS 换行符?

我有一堆文件。有些是 Unix 行尾,许多是 DOS。在切换行尾之前,我想测试每个文件以查看是否为 dos 格式。

我该怎么做?有我可以测试的标志吗?相似的东西?

0 投票
6 回答
336966 浏览

git - 为什么我应该在 Git 中使用 core.autocrlf=true?

我有一个可以从 Windows 和 OS X 访问的 Git 存储库,并且我知道它已经包含一些带有 CRLF 行结尾的文件。据我所知,有两种方法可以解决这个问题:

  1. 无处不core.autocrlffalse

  2. 按照此处的说明(在 GitHub 的帮助页面上回显)将存储库转换为仅包含 LF 行尾,然后在 Windows 和OS X 上设置core.autocrlf为。这样做的问题是,如果我在存储库中有任何二进制文件那:trueinput

    1. 在 gitattributes 中未正确标记为二进制,并且
    2. 碰巧同时包含 CRLF 和 LF,

    他们将被破坏。我的存储库可能包含此类文件。

那么为什么我不应该关闭 Git 的行尾转换呢?网络上有很多关于core.autocrlf关机导致问题的模糊警告,但很少有具体的警告;到目前为止,我唯一发现的是 kdiff3 无法处理 CRLF 结尾(对我来说不是问题),并且某些文本编辑器存在行尾问题(对我来说也不是问题)。

该存储库是我公司内部的,因此我无需担心与具有不同 autocrlf 设置或行尾要求的人共享它。

只保留我不知道的行尾是否还有其他问题?

0 投票
6 回答
236215 浏览

java - Java中的回车\换行

我使用 Java 代码在 Unix 环境中创建了一个文本文件。

为了编写我正在使用的文本文件java.io.FileWriterBufferedWriter. 对于每一行之后的换行符,我正在使用bw.newLine()方法(bw对象在哪里BufferedWriter)。

我通过从 Unix 环境本身附加邮件来发送该文本文件(使用 Unix 命令自动执行)。

我的问题是,在我从 Windows 系统中的邮件下载文本文件后,如果我打开该文本文件,则数据未正确对齐。newline()性格不行,我想是的。

如果我也在 Windows 环境中打开文本文件,我想要与 Unix 环境中相同的文本文件对齐方式。

我该如何解决问题?

下面的 Java 代码供您参考(在 Unix 环境中运行):

0 投票
3 回答
10406 浏览

python - 由于行尾,Python 帮助读取 csv 文件失败

我正在尝试创建此脚本,该脚本将检查计算机主机名,然后在主列表中搜索该值以在 csv 文件中返回相应的值。然后打开另一个文件并查找替换。我知道这应该很容易,但以前在 python 中没有做过这么多。这是我到目前为止...

这是我迄今为止创建的脚本

现在,它只是设置打印主列表。我不确定是否需要解析列表并将其放入字典或什么中。我真的需要弄清楚如何在第一个字段中搜索主机名,然后在第二列中返回该字段。

提前感谢您的帮助,亚伦


更新:我从 masterlist.txt 中删除了第 194 行和最后一行,然后重新运行了脚本。结果如下:

回溯(最近一次调用):
文件“update.py”,第 3 行,在 csv.DictReader(open(fname), delimiter='\t') 中的行中:文件“/System/Library/Frameworks/Python. framework/Versions/2.6/lib/python2.6/csv.py”,第 103 行,在下一个 self.fieldnames 文件“/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/csv. py",第 90 行,在字段名中 self._fieldnames = self.reader.next() _csv.Error: 在未引用的字段中看到换行符 - 您需要以通用换行模式打开文件吗?

当前使用的脚本是...

0 投票
2 回答
3121 浏览

maven-2 - 自从切换到我的程序集中的奇怪文件Unix

由于我已将该选项插入<lineEnding>unix</lineEnding>到我的 Maven 程序集插件配置中的文件集和文件中,因此奇怪的文件被放置在我的 tar.xml 文件中。

它们如下所示:

你知道为什么会发生这种情况吗?

0 投票
1 回答
683 浏览

windows - 混合环境下的git crlf配置

我正在运行一个混合环境,并保留一个中央的、裸露的存储库,我在其中提取和推送我的大部分内容。这个集中式存储库在 Linux 上运行,我查看了 Windows XP/7、Mac 和 Linux。在所有存储库中,我将以下行放在我的 .git/config 中:

我在任何地方都没有国旗safecrlf=true。第一次在我的一台 Windows 机器 (XP) 上修改东西时没有问题,当我查看差异时,它看起来很好。但是当我在另一台 Windows 机器 (7) 上执行相同操作时,所有行都显示为已更改,但本地行结尾是 \r\n 预期的(在十六进制编辑器中检查时)。这同样适用于 MacOSX 可以。有时我会感觉到不同的系统在行尾发生冲突,但我不能确定(我总是忘记更改特定文件的时间)。

我以前没有autocrlf设置,但在几个月前设置了标志。这会导致我目前的问题吗?我是否需要再次克隆所有内容以释放一些旧包袱?还是还有其他需要配置的东西?我尝试git checkout -- .了大约一百万次,但没有成功。

0 投票
2 回答
295 浏览

svn - 如何修复从颠覆存储库上的文件结束的所有损坏行

我有一个很大的 subversion 存储库,我发现许多 .py 文件(可能还有其他文件)没有正确的行尾,在不同平台上签出时会产生问题。

如果不一一修复,如何解决这个问题?

另外如何防止其他人破坏存储库?

0 投票
2 回答
71 浏览

php - 转移站点 - 各种文件问题

我将旧网站放在新服务器上,我注意到了各种问题。首先,如果我在本地查看任何文件,它们都有双倍行距 - 任何有换行符的地方也插入了一个空行。这在 netbeans 和 notepad++ 中是一样的。然后,当我将文件 SFTP 到服务器并在 Vi 中查看它们时,我会在每行的末尾看到 ^M。最后一件事是,当我在使网站实际工作时遇到问题时,我已经将其追踪到一个常见的 includes.php 文件中,当我查看它时它已被转换为一行代码 - 我仍然可以看到 ^ M 但那里没有一个换行符。在 vi 的底部,它实际上说:“includes.php”[noeol]

我在 Windows 上本地工作,我也有一台 Mac,我可以试一试。我的远程服务器正在运行 Ubuntu 9

请让我知道这个问题在 serverfault 上是否会更好