我有一个zip文件夹,其中包含多个格式相同的文件。每个文件大小约为50 MB。我需要将每个文件拆分成多个块(比如每个spllited输出文件1000行)。
我编写了一个shell脚本,该脚本解压缩文件夹并将分割文件输出保存在目录中。
问题是输出块是不可读的格式,包含符号和随机字符。 当我单独为每个文件执行此操作时,它会输出完美的txt拆分文件。但是整个zip文件夹都没有发生。
任何人都知道如何以txt格式获取这些文件。 这是我的剧本。
for z in input.zip ; do
if unzip -p "$z" | split -l 1000 $z output_dir ; then
echo "$z"
fi
done
答案 0 :(得分:1)
您需要先解压缩文件。否则,您只是将原始二进制ZIP文件分块。
以下是未经测试的,因为我没有您的源文件。但是,它应该适合你一点调整。
unzip -d /tmp/unzipped input.zip
mkdir /tmp/split_files
for file in /tmp/unzipped/*txt do;
split -l 1000 "$file" "/tmp/split_files/$(basename "$file" .txt)"
done