我有用逗号分隔的txt文件:
2012,wp_fronins.pdf
2013,test789.pdf
2014,ok09report.pdf
我正在尝试从文件中提取每个值,并将其传递给带有条件的CURL命令。 例如:
if $value1=2012 do
curl "https://onlinesap.org/reports/$valu1/$value2
有什么想法吗?
答案 0 :(得分:1)
另一种实现方法是直接读取文件并剪切行以直接获取元素。
while read p; do
value1=`echo $p | cut -d',' -f1`
value2=`echo $p | cut -d',' -f2`
if [ $value1 = "2012" ]; then
curl "https://onlinesap.org/reports/$value1/$value2"
fi
# Add More conditional statements here for other value1
done < filename.txt
答案 1 :(得分:0)
由于pdf文件的名称(值2)是唯一的,因此您可以尝试以下操作:
#!/bin/bash
FILENAME=myFile.txt
cat $FILENAME | awk -F',' '{print $2}' | while read value2; do
value1=`grep -w "$value2" $FILENAME | awk -F',' '{print $1}'` # watch the back-tick
if [ $value1 = "2012" ]; then
curl https://onlinesap.org/reports/$value1/$value2
fi
done
请注意,对于找到的每一行,第二次扫描整个文件。
换句话说,它的复杂度是O(n ^ 2)