gpt4 book ai didi

linux - 如何使用 Linux split 将一个数 GB 的文件拆分成大约 1.5 GB 的 block ?

转载 作者:太空狗 更新时间:2023-10-29 11:43:24 32 4
gpt4 key购买 nike

我有一个可以大于 4GB 的文件。我正在使用 linux split 命令按行拆分它(这是要求)。但是拆分原始文件后,我希望拆分文件的大小始终小于 2GB。原始文件大小可能在 3-5 GB 之间。我想在我的 shell 脚本中为此编写一些逻辑,并将行数输入到下面的 split 命令中,以保持拆分后的文件大小小于 2 GB。

split -l 100000 -d abc.txt abc

最佳答案

我就是这样解决这个问题的。很抱歉晚了发布解决方案。

<强>1。声明了一个全局变量 DEFAULT_SPLITFILE_SIZE= 1.5Gb

DEFAULT_SPLITFILE_SIZE=1500000000

<强>2。计算文件中的行数。

LINES_IN_FILE=`wc -l $file | awk '{print $1}'`

echo `date` "Total word count = ${LINES_IN_FILE}."

<强>3。计算文件的大小。

FILE_SIZE=`stat -c %s "${file}"`

<强>4。文件中每一行的计算大小。

SIZE_PER_LINE=$(( FILE_SIZE / LINES_IN_FILE ))

echo `date` "Bytes Per Line = $SIZE_PER_LINE"

<强>5。计算了使其成为 1.5gb 拆分文件所需的行数。

SPLIT_LINE=$(( DEFAULT_SPLITFILE_SIZE / SIZE_PER_LINE ))

echo `date` "Lines for Split = $SPLIT_LINE"

关于linux - 如何使用 Linux split 将一个数 GB 的文件拆分成大约 1.5 GB 的 block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32019927/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com