这是我遇到的一个常见问题,我的解决方案有点鲁莽。因此,我正在寻找问题的快速解决方案和解释。
问题是,当我决定将 Excel (mac 2011) 中的电子表格保存为制表符分隔文件时,它似乎做得很好。直到我尝试使用 Perl 逐行解析文件。由于某种原因,它将整个文档压缩为一行。
我的粗暴解决方案是在 Web 浏览器中打开文件,然后将信息复制并粘贴到 TextEdit 中的制表符分隔文件中(我从不使用富文本格式)。在执行此修复之前,我尝试在文件末尾引入换行符,但它无法解决问题。
这是怎么回事?如果有解释,我们将不胜感激。
~谢谢!~
最佳答案
问题是在不同系统上定义新行的实际字符代码。 Windows 系统通常使用回车+换行 (CRLF),*NIX 系统仅使用换行 (LF)。
这些字符在正则表达式中可以分别表示为 \r\n 或 \n。
有时,要对文本文件进行哈希处理,您需要解析换行符。在 perl 中尝试从 DOS 到 UNIX:
perl -pi -e 's/\r\n/\n/g' input.file
或者,对于使用 sed 的 UNIX 到 DOS:
$ sed 's/$'"/`echo \\\r`/" input.txt > output.txt
或者,对于使用 sed 的 DOS 到 UNIX:
$ sed 's/^M$//' input.txt > output.txt
关于macos - Excel 保存制表符分隔的文件而不换行 (UNIX/Mac os X),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22052168/