你好:
文件列表
renamedfile.xml,url-01.php
renamedFileDifferent.xml,url-02.php
specificFileRename.xml, “URL-03”
newFilename.xml, “URL-04”
我希望做到这样的事情:
#!/usr/bin/env bash
while read line
do
wget -c -O newfile remoteFile >/dev/null 2>&1
done < filelist
此外,为cron作业放置shell文件的典型位置是什么?
答案 0 :(得分:1)
通过设置特殊的IFS变量(内部字段分隔符),可以使bash在逗号上分割,而不是默认的制表符,换行符和空格。
while IFS=',' read -r newfile remotefile; do
wget -q -c -O "$newfile" "http://somesite/$remotefile"
done < filelist
示例文件中的引号会出现问题。您可以使用参数扩展来删除引号。
while IFS=',' read -r newfile remotefile; do
wget -q -c -O "$newfile" "http://somesite/${remotefile//\"/}"
done < filelist
如果引号实际上是文件名的一部分,那么它需要进行url编码。您也可以使用参数扩展。
while IFS=',' read -r newfile remotefile; do
wget -q -c -O "$newfile" "http://somesite/${remotefile//\"/%22}"
done < filelist