我有一个 226GB 的日志文件,我想把split
它分成几块以便于xz
阅读。问题是我的可用空间只剩下 177GB 的空间。
有没有办法split
在不保留原始文件的额外副本的情况下将文件分成一半或分成N个块?
$ split myFile.txt
$ ls -halF
-rw-r--r-- 1 user group 35 Dec 29 13:17 myFile.txt
-rw-r--r-- 1 user group 8 Dec 29 13:18 xaa
-rw-r--r-- 1 user group 3 Dec 29 13:18 xab
-rw-r--r-- 1 user group 5 Dec 29 13:18 xac
-rw-r--r-- 1 user group 10 Dec 29 13:18 xad
-rw-r--r-- 1 user group 8 Dec 29 13:18 xae
-rw-r--r-- 1 user group 1 Dec 29 13:18 xaf
Run Code Online (Sandbox Code Playgroud)
我宁愿没有剩余的 myFile.txt,而只有拆分文件。我很乐意坚持默认行为并删除原始行为,但我没有可用的空间来完成它。
我不是一个专家sed
或awk
但我想也许会有办法的行为,这种“删除到另一个文件”,可以用其中的一个可以实现吗?
可能有效的方法是将其部分直接流式传输到xz
- 我想您可以压缩一个日志文件,足以将原始部分和压缩部分放入您剩下的空间中。
获取行数:
wc -l myFile.txt
Run Code Online (Sandbox Code Playgroud)用于sed
将您想要的部分通过管道传输到xz
:
sed -n '1,10000p' myFile.txt | xz > outfile01.xz
sed -n '10001,20000p' myFile.txt | xz > outfile02.xz
Run Code Online (Sandbox Code Playgroud)等等。这当然可以通过脚本来完成。
但老实说,按照 EEAA 所说的去做......
归档时间: |
|
查看次数: |
5618 次 |
最近记录: |