我有一个URL列表,想用它来构建防火墙日志。 例如:
$ cat urls.csv
a.com
我知道如何使用IP直接作为变量构建日志。
$ cat processor.sh
#!/bin/bash
filename="$1"
while read -r line
do
URLS="$line"
IP='10.109.1.1'
today_date=`date +%d/%b/%Y`
conact_1=" - - ["
concat_2=":00:00:00 +0000] "
date_concat=$conact_1$today_date$concat_2
GET='"GET '
protocol=' HTTP/1.1" 304 0 304 0 0 0 655 456 645 368 0'
final_url=$IP$conact_1$today_date$concat_2$GET$URLS$protocol
echo $final_url
done < "$filename"
结果:
$ bash processor.sh urls.csv
10.109.1.1 - - [22/Jul/2018:00:00:00 +0000] "GET a.com HTTP/1.1" 304 0 304 0 0 0 655 456 645 368 0
现在如果我有一个包含50或100
甚至更多的日志行,我该如何为所有网址生成随机IP并生成日志行?
$cat urls.csv
a.com
b.com
c.com
d.com
....
有没有关于如何在Bash中生成随机IP的建议?
期望结果:
$ bash processor.sh urls.csv
1.1.1.1 - - [22/Jul/2018:00:00:00 +0000] "GET a.com HTTP/1.1" 304 0 304 0 0 0 655 456 645 368 0
1.1.1.2 - - [22/Jul/2018:00:00:00 +0000] "GET b.com HTTP/1.1" 304 0 304 0 0 0 655 456 645 368 0
1.1.1.3 - - [22/Jul/2018:00:00:00 +0000] "GET c.com HTTP/1.1" 304 0 304 0 0 0 655 456 645 368 0
1.1.1.4 - - [22/Jul/2018:00:00:00 +0000] "GET d.com HTTP/1.1" 304 0 304 0 0 0 655 456 645 368 0
............