在我的 ContOS 服务器上,我有几个带有 Windows 行结尾的大文件。其中,我需要前 n
行才能运行一些测试。
我已经尝试了一些标准的“linux”方法:
head -10 file.dat
和
sed -n 1,10p file.dat
和
awk 'NR <=10' file.dat
所有这些 produce 都不遵守 windows 行结尾,而是简单地输出整个文件。
有没有办法获取带有 Windows 行结尾的文件的 n
行?
另外,应该注意的是输出仍然应该有 windows 行结尾。
最佳答案
这不会发生在 Windows 行尾,它是 CRLF
,因为 Unix 使用 LF
。所以 LF
仍然会被看到和使用。
如果行尾只有 CR
而没有 LF
,您所描述的情况就会发生。你可以这样翻译:
tr '\r' '\n' < file.dat | head -10 | tr '\n' '\r'
第一个 tr
转换为 Unix 格式,第二个转换回原始格式。
关于linux - 带有 Windows 行结尾的头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49541584/