从两个文件中获取字符串bash

时间:2015-08-11 04:52:30

标签: linux bash file for-loop

我有两个文件,一个是url,另一个是id的

for line in $(cat urls_file); do
for id in $(cat ids_file); do
touch topic_$id
curl $line|grep "data\-topic=">topic_$id
done
done

但它确实为每个$行所有$ id和我想为每个id做的每行。

1 个答案:

答案 0 :(得分:2)

  

但它确实为每个$行所有$ id和我想为每个id做的每行。

在这种情况下,您应该使用paste从2个输入文件中获取2列数据:

while read -r line id; do
   curl "$line" | grep 'data-topic=' > "topic_$id"
done < <(paste urls_file ids_file)

无需使用touch,因为curl无论如何都会创建文件。