在我的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/