unzip:参数列表太长

问题描述 投票:0回答:1

大家。 我有 CSV 文件,其中包含约 150 万个字符串,其中包含“ArchiveName”列,并且我正在尝试使用脚本解压缩每个存档:

#!/bin/bash
csvPath=/any/folder/ArchiveName.csv
archiveFolderPath=/any/archives
cd $archiveFolderPath
while IFS=";" read -r ArchiveName
do 
    unzipPath=/any/unzip
    sudo unzip "${ArchiveName}" -d "${unzipPath}"
done < <(tail -n +1 $csvPath)

当我启动脚本时 - 收到错误“参数列表太长”

我尝试将 csv 文件剪切为 5k 字符串,但仍然不起作用.. 我如何更改脚本或 csv 使其生效?

bash unzip
1个回答
0
投票

“参数列表太长”意味着:您传递给

sudo unzip "${ArchiveName}" -d "${unzipPath}"
的字符串之一太长(不是:您的 csv 中有太多行)。

调试该问题的一种方法是检查传递给命令的值:

echo "unzipping ${ArchiveName} ..."
sudo unzip "${ArchiveName}" -d "${unzipPath}"
© www.soinside.com 2019 - 2024. All rights reserved.