在我的ContOS服务器上,我有几个带有windows行尾的大型文件。其中,我需要第一个n
行来运行一些测试。
我尝试过一些标准的"linux“方法来实现它:
head -10 file.dat
和
sed -n 1,10p file.dat
和
awk 'NR <=10' file.dat
所有这些产品都不尊重windows行的结尾,而只是输出整个文件。
有什么方法可以获得带有windows行结尾的文件的n
行?
此外,应该注意的是,输出仍然应该有窗口行的结尾。
发布于 2018-03-28 18:29:37
由于Unix使用的是CRLF
,所以Windows行结束(即LF
)就不会出现这种情况。因此,LF
仍然会被看到和使用。
如果行尾只是CR
而没有LF
,那么您所描述的就会发生。您可以将其翻译为:
tr '\r' '\n' < file.dat | head -10 | tr '\n' '\r'
第一个tr
转换为Unix格式,第二个转换为原始格式。
发布于 2018-03-28 18:50:20
您可以始终使用vim:
vim foo.txt +"%s/\r/\r/g" +wq
这将取代所有的回车。
https://stackoverflow.com/questions/49541584
复制相似问题