Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 以windows行结尾的头文件_Linux_Awk_Sed_Head - Fatal编程技术网

Linux 以windows行结尾的头文件

Linux 以windows行结尾的头文件,linux,awk,sed,head,Linux,Awk,Sed,Head,在我的ContOS服务器上,我有几个以windows行结尾的大文件。为了运行一些测试,我需要来自的前n行 我尝试了几种标准的linux方法: head -10 file.dat 及 及 所有这些都不尊重windows行的结尾,只输出整个文件 有没有一种方法可以获取文件中以windows行结尾的n行 另外,应该注意的是,输出仍然应该有windows行结束符。这不会发生在windows行结束符(CRLF)上,因为Unix使用LF。所以LF仍然会被看到和使用 如果行尾是CR而不是LF,你所描述的情况

在我的ContOS服务器上,我有几个以windows行结尾的大文件。为了运行一些测试,我需要来自的前n行

我尝试了几种标准的linux方法:

head -10 file.dat

所有这些都不尊重windows行的结尾,只输出整个文件

有没有一种方法可以获取文件中以windows行结尾的n行


另外,应该注意的是,输出仍然应该有windows行结束符。

这不会发生在windows行结束符(CRLF)上,因为Unix使用LF。所以LF仍然会被看到和使用

如果行尾是CR而不是LF,你所描述的情况就会发生。您可以通过以下方式进行翻译:

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

第一个tr转换为Unix格式,第二个tr转换回原始格式。

这不会发生在Windows行尾,即CRLF,因为Unix使用LF。所以LF仍然会被看到和使用

如果行尾是CR而不是LF,你所描述的情况就会发生。您可以通过以下方式进行翻译:

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

第一个tr转换为Unix格式,第二个tr转换回原始格式。

您可以始终使用vim:

   vim foo.txt +"%s/\r/\r/g" +wq

这将替换所有回车。

您始终可以使用vim:

   vim foo.txt +"%s/\r/\r/g" +wq

这将替换所有回车。

Windows行尾中包含*nix行尾,因此不会执行您描述的操作。请尝试通过执行tr-dtemp\u file&&mv temp\u file Input\u file删除控件M字符,然后尝试运行这些命令,让我知道它是如何运行的?@RavinderSingh13文件是巨大的5+gb,这样做将是一个非常长的操作。@AaronN.Brock,我不认为它不应该花费那么多时间,试一下,然后让我们知道?@AaronN.Brock:你能展示几行示例来看看DOS结尾是什么样子吗?,刚刚测试了一个带有CRLF行终止符和head-10的文件,它似乎工作得很好。Windows行结束符中包含*nix行结束符,因此不会执行您描述的操作。请尝试通过执行tr-dtemp\u file&&mv temp\u file Input\u file删除控件M字符,然后尝试运行这些命令,让我知道它是如何运行的?@RavinderSingh13文件是巨大的5+gb,这样做将是一个非常长的操作。@AaronN.Brock,我不认为它不应该花费那么多时间,试一下,然后让我们知道?@AaronN.Brock:你能展示几行示例来看看DOS结尾是什么样子吗?,刚刚测试了一个带有CRLF行终止符和head-10的文件,它似乎工作正常。当我运行That your want OP时,我得到了tr:extra operant“file.dat”,显然是希望输出有windows行结尾still@Inian原始文件中没有换行符,只有\r个字符。@AaronN.Brock no.head将在读取10行后退出,这将关闭管道的读取端。然后,tr在尝试写入管道时将出现错误,它将退出。当我运行That your want OP时,我得到tr:extra operand“file.dat”,显然希望输出具有windows行结尾still@Inian原始文件中没有换行符,只有\r个字符。@AaronN.Brock no.head将在读取10行后退出,这将关闭管道的读取端。tr在尝试写入管道时将出现错误,并将退出。