我在bash文件中有一行像---
curl -L $domain/url1 options
域已从另一个文本文件中读取 像
这样的域名abc.com
google.com
yahoo.com
我有另一个单独的文件,其中包含更多的URL(批号):
url1
url2
url3
....
url1000
我想替换该网址并将其添加为:
curl -L abc.com/url1 options
curl -L abc.com/url2 options
curl -L abc.com/url3 options
....
curl -L $abc.com/url1000 options
手动花费太多时间,所以我想自动化这个过程。
答案 0 :(得分:2)
在bash
Process-substitution,
while IFS= read -r url; do
curl -L abc.com/"$url" options
done <url_file
就足够(或)在同一循环的单行中,
while IFS= read -r url; do curl -L abc.com/"$url" options; done <url_file
对于循环使用两个文件的更新要求,您需要定义多个文件描述符并从中读取,
while IFS= read -r domain <&3; do
while IFS= read -r url <&4; do
curl -L "$domain"/"$url" options
done 4<url.txt
done 3<domain.txt
以上内容适用于任何不涉及任何POSIX
- isms的bash
shell,您可以将上述内容放在带有#!/bin/sh
she-bang的脚本中。