Ste*_*ner 11 unix linux dos2unix sed eol
我需要使用Cygwin中的unix paste实用程序将几百GB的数据粘贴在一起,但如果文件中有Windows EOL字符,它将无法正常工作.数据可能有也可能没有Windows EOL字符,如果不需要,我不想花时间运行dos2unix.
所以我的问题是,在Cygwin中,我怎么能弄清楚这些文件是否有Windows EOL CRLF字符?
我已经尝试创建一些测试数据并运行
sed -r 's/\r\n//' testdata.txt
Run Code Online (Sandbox Code Playgroud)
但无论dos2unix是否已运行,这似乎都匹配.
谢谢.
sar*_*old 18
该file(1)实用程序知道不同之处:
$ file * | grep ASCII
2: ASCII text
3: ASCII English text
a: ASCII C program text
blah: ASCII Java program text
foo.js: ASCII C++ program text
openssh_5.5p1-4ubuntu5.dsc: ASCII text, with very long lines
windows: ASCII text, with CRLF line terminators
Run Code Online (Sandbox Code Playgroud)
file(1) 已经过优化,尝试尽可能少地读取文件,因此您可能会很幸运并大大减少查找和修复CRLF终结器时需要执行的磁盘IO数量.
请注意,CRLF的某些情况应保持不变:SMTP的捕获将使用CRLF.但这取决于你.:)
| 归档时间: |
|
| 查看次数: |
14749 次 |
| 最近记录: |