在我的contos服务器上,我有几个带有windows行结尾的大文件。为了运行一些测试,我需要来自的第一行。
我尝试了几种标准的“Linux”方法:

head -10 file.dat

以及
sed -n 1,10p file.dat

以及
awk 'NR <=10' file.dat

所有这些都产生了不尊重窗口行结束,只是输出整个文件。
有没有办法得到以windows行结尾的文件的n行?
另外,应该注意的是,输出仍然应该有windows行结尾。

最佳答案

这不会发生在windows行尾,因为unix使用CRLF。因此LF仍然可以看到和使用。
如果行的结尾是LF而不是CR,那么您所描述的将发生。您可以将其翻译为:

tr '\r' '\n' < file.dat | head -10 | tr '\n' '\r'

第一个LF转换为unix格式,第二个转换回原始格式。

关于linux - Windows行尾的头文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49541584/

10-15 03:32