ubuntu 压缩拆分
If you have an unwieldy text file that you are trying to process, splitting it in sections can sometimes help processing time, especially if we were going to import a file into a spreadsheet. Or you might want to just retrieve a particular set of lines from a file.
如果您要处理一个笨拙的文本文件,将其分成几部分有时可以帮助您节省时间,尤其是当我们要将文件导入电子表格时。 或者,您可能只想从文件中检索一组特定的行。
Enter split, wc, tail, cat, and grep. (don’t forget sed and awk). Linux contains a rich set of utilities for working with text files on the command line. For our task today we will use split and wc.
输入split,wc,tail,cat和grep。 (不要忘记sed和awk)。 Linux包含大量用于在命令行上处理文本文件的实用程序。 对于今天的任务,我们将使用split和wc。
First we take a look at our log file….
首先,我们看一下我们的日志文件…。
> ls -l-rw-r–r– 1 thegeek ggroup 42046520 2006-09-19 11:42 access.log
> ls -l-rw-r–r– 1 thegeek ggroup 42046520 2006-09-19 11:42 access.log
We see that the file size is 42MB. That’s kinda big… but how many lines are we dealing with? If we wanted to import this into Excel, we would need to keep it less than 65k lines.
我们看到文件大小为42MB。 有点大……但是我们要处理多少行? 如果要将其导入到Excel中,则需要使其少于65,000行。
Let’s check the amount of lines in the file using the wc utility, which stands for “word count”.
让我们使用wc实用程序检查文件中的行数,该实用程序代表“字数”。
> wc -l access.log146330 access.log
> wc -l access.log146330 access.log
We’re way over our limit. We’ll need to split this into 3 segments. We’ll use the split utility to do this.
我们超出了极限。 我们需要将其分为3个部分。 我们将使用split实用程序执行此操作。
> split -l 60000 access.log> ls -l
>拆分-l 60000 access.log> ls -l
total 79124-rw-rw-r– 1 thegeek ggroup 40465200 2006-09-19 12:00 access.log-rw-rw-r– 1 thegeek ggroup 16598163 2006-09-19 12:05 xaa-rw-rw-r– 1 thegeek ggroup 16596545 2006-09-19 12:05 xab-rw-rw-r– 1 thegeek ggroup 7270492 2006-09-19 12:05 xac
总计79124-rw-rw-r– 1 thegeek ggroup 40465200 2006-09-19 12:00 access.log-rw-rw-r– 1 thegeek ggroup 16598163 2006-09-19 12:05 xaa-rw-rw-r – 1个thegeek ggroup 16596545 2006-09-19 12:05 xab-rw-rw-r– 1个thegeek ggroup 7270492 2006-09-19 12:05 xac
We’ve now split our text files into 3 seperate files, each containing less than 60000 lines, which seemed like a good number to choose. The last file contains the leftover amount. If you were going to cut this particular file in half, you’d have done this:
现在,我们将文本文件分为3个单独的文件,每个文件少于60000行,这似乎是一个不错的选择。 最后一个文件包含剩余量。 如果您打算将该特定文件切成两半,则可以这样做:
> split -l 73165 access.log
>拆分-l 73165 access.log
And, that’s all there is to it.
而且,仅此而已。
翻译自: https://www.howtogeek.com/howto/ubuntu/split-a-text-file-in-half-or-any-percentage-on-ubuntu-linux/
ubuntu 压缩拆分