我正在尝试创建一个bash脚本,该脚本读取具有两列的CSV:
first column = name
second column = URL
并尝试从第二列的URL下载一个PDF文件,该文件具有带有字母和数字的随机名称.PDF,并使用第一列更改名称。
PDF名称可能重复,所以如果重复,我想添加一些数字,比如:
Example %20 $5000.pdf
Example %20 $5000.1.pdf
Example %20 $5000.2.pdf
因为如果我尝试下载wget,curl将不会使用输出选项自动递增。我尝试了很多东西,但我的局限性花费了太多时间。
我创建了一个计数器,将行号添加到末尾,但如果我得到一个更大的PDF,就会有不必要的自动递增数字。(代码如下)
应该有更好的方法,但我缺乏知识,花了太多时间。因此,如果有任何帮助,我将不胜感激,我是bash脚本的初学者。
感谢您提前提供的帮助!
CSV示例:
Example %20 $5000,HTTP://example.com/djdiede.pdf
Example %20 $5000,HTTP://example.com/djdi42322ede.pdf
Example %30 $1000,HTTP://example.com/djd4234iede.pdf
Example %50 $1000,HTTP://example.com/dj43566diede.pdf
到目前为止的代码:
#!/bin/bash -e
COUNTER=1
while IFS=, read -r field1 field2
do
COUNTER=$[$COUNTER +1]
if [ "$field1" == "" ]
then
echo "Line $COUNTER field1 is empty or no value set"
elif [ "$field2" == "" ]
then
echo "Line $COUNTER field2 is empty or no value set"
else
pdf_file=$(echo $field1 | tr '/' ' ')
echo "================================================"
echo "Downloading $COUNTER $pdf_file..."
echo "================================================"
pdf_file_test="$pdf_file.pdf"
if [ -e "$pdf_file_test" ]; then
echo -e "