在Ubuntu Linux上将文本文件拆分为一半(或者任何百分比)

时间:2020-01-09 10:45:30  来源:igfitidea点击:

如果我们要处理的文本文件比较笨拙,则将其分成几部分有时可以节省时间,尤其是当我们要将文件导入电子表格时。或者我们可能只想从文件。

输入split,wc,tail,cat和grep。 (不要忘记sed和awk)。 Linux包含大量用于在命令行上处理文本文件的实用程序。对于今天的任务,我们将使用split和wc。

首先,我们看一下我们的日志文件。

> ls -l
-rw-rr 1 thedata ggroup 42046520 2006-09-19 11:42 access.log

我们看到文件大小为42MB。那有点大,但我们要处理多少行?如果要将其导入到Excel中,则需要使其少于65,000行。

让我们使用wc实用程序检查文件中的行数,该实用程序代表字数统计。

> wc -l access.log
146330 access.log

我们超出了极限。我们需要将其分为3个部分。我们将使用split实用程序执行此操作。

> split -l 60000 access.log
> ls -l
total 79124
-rw-rw-r 1 thedata ggroup 40465200 2006-09-19 12:00 access.log
-rw-rw-r 1 thedata ggroup 16598163 2006-09-19 12:05 xaa
-rw-rw-r 1 thedata ggroup 16596545 2006-09-19 12:05 xab
-rw-rw-r 1 thedata ggroup 7270492 2006-09-19 12:05 xac

现在,我们将文本文件分为3个单独的文件,每个文件少于60000行,这似乎是一个不错的选择。最后一个文件包含剩余量。如果我们打算将此特定文件切成两半,则可以这样做:

> split -l 73165 access.log