簡體   English   中英

循環使用逗號分隔的txt文件並用作變量

[英]Loop through txt file comma-separated and use as variable

我有用逗號分隔的txt文件:

2012,wp_fronins.pdf
2013,test789.pdf
2014,ok09report.pdf

我正在嘗試從文件中提取每個值,並將其傳遞給帶有條件的CURL命令。 例如:

if $value1=2012 do 
curl "https://onlinesap.org/reports/$valu1/$value2

任何想法 ?

另一種實現方式是直接讀取文件並剪切行以直接獲取元素。

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

由於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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM