grep计数和保存匹配不同,为什么?

时间:2016-12-08 09:31:15

标签: ubuntu grep

我有两台不同的Linux计算机,一台运行最近的Debian,另一台运行最近的Ubuntu,我尝试使用终端命令行上的grep匹配并保存大文件(> 6GB)中的数据。

但是,尽管grep计数相同,但导出量不同。我试图理解为什么以及如果在某些地方可能存在隐藏设置导致Ubuntu计算机错过这么多匹配(在这两种情况下grep都是使用apt-get从默认仓库安装而我使用的是文件)。 Debian按预期返回结果。

的Debian:

wc -l file
returns "33742301 file"

grep -i "pattern" -c file
returns "410882"

grep -i "pattern" file > new_file
wc -l new_file
returns "410882 new_file"

Ubuntu的:

wc -l file
returns "33742301 file"

grep -i "pattern" -c file
returns "410882"

grep -i "pattern" file > new_file
wc -l new_file
returns "3911 new_file"

那么为什么与Ubuntu存在差异,特别是因为Ubuntu从Debian中找到了它的根源?

在过去的1。5年里,我尝试过很多不同的文本文件,Debian输出和Ubuntu输出之间总是存在显着差异。

1 个答案:

答案 0 :(得分:0)

Grep可能会将大文件解释为二进制文件。尝试使用--text选项以强制文本模式:

grep --text -i "pattern" file > new_file
相关问题