假设磁盘只有 100 G, 有一个巨大的 TXT/Log 文件占了 95%的磁盘容量.
需求是在不使用另一块磁盘的情况下,把这个文件拆成 8 个小文件. 说白了就是原地拆分。
请问有什么工具、口令可以使用?
需求是在不使用另一块磁盘的情况下,把这个文件拆成 8 个小文件. 说白了就是原地拆分。
请问有什么工具、口令可以使用?
1
woctordho Aug 19, 2021 via Android |
2
eason1874 Aug 19, 2021
写一个循环,边写边截断,比如用 tail 和 truncate
|
3
ho121 Aug 19, 2021 via Android
先建一个内存盘?
|
4
liuguangxuan Aug 19, 2021 via Android
Linux 下有 split 命令,不知道能不能满足楼主的需求。
|
5
shoaly Aug 19, 2021 这种占满硬盘没法读写的场景太稀有了, 别去琢磨了
临时加一个(或者 ssh 挂在一个远程的硬盘), 把日志压缩备份, 然后开一个 logrotate , 天天切割日志就完事了... |
6
des Aug 19, 2021 via iPhone
原地切割是为了下载吧?
那你可以试试用 dd 加 gzip 传输回来 |
7
ch2 Aug 19, 2021
添加一个 10G 的内存盘
|
9
Vegetable Aug 19, 2021 利用剩余 5%空间中的 4%
复制最后 4% -> trunc 最后 4% -> 复制最后 4%-> trunc.... 最后应该是 20 多个文件+5%的剩余空间。再按需合并就好了 |