表題の件について。`curl`の`man`を見ていて初めて知ったのでメモ。
■ 環境
- Linux
- Mac OSX El Capitan
■ curl
`man`に下記のような記載がある。
You can specify multiple URLs or parts of URLs by writing part sets within braces as in:
http://site.{one,two,three}.com
or you can get sequences of alphanumeric series by using [] as in:
ftp://ftp.numericals.com/file[1-100].txt
:
こういった書き方もできるのか、というのを初めて知ったので試してみた。対象はDockerでApacheを起動した。
$ docker run -dti --rm --name httpd -p 10080:80 httpd
アクセスログを見る。
$ docker logs -f httpd
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
[Thu Aug 24 05:37:15.553779 2017] [mpm_event:notice] [pid 1:tid 139880451094400] AH00489: Apache/2.4.27 (Unix) configured -- resuming normal operations
[Thu Aug 24 05:37:15.553906 2017] [core:notice] [pid 1:tid 139880451094400] AH00094: Command line: 'httpd -D FOREGROUND'
では実際に`curl`でアクセスしてみる。
まずは何も指定しない。
$ curl localhost:10080
この時のアクセスログは下記の通り。
172.17.0.1 - - [24/Aug/2017:10:07:30 +0000] "GET / HTTP/1.1" 200 45
1つ目の”{}“を使った方法を試してみる。
$ curl localhost:10080/{a,b,c}.html
アクセスログは下記の通りになった。
172.17.0.1 - - [24/Aug/2017:10:08:05 +0000] "GET /a.html HTTP/1.1" 404 204
172.17.0.1 - - [24/Aug/2017:10:08:05 +0000] "GET /b.html HTTP/1.1" 404 204
172.17.0.1 - - [24/Aug/2017:10:08:05 +0000] "GET /c.html HTTP/1.1" 404 204
また、”[]“で数値の範囲指定も可能である。
$ curl localhost:10080/[1-15].html
アクセスログは下記の通り。
172.17.0.1 - - [24/Aug/2017:10:08:58 +0000] "GET /1.html HTTP/1.1" 404 204
172.17.0.1 - - [24/Aug/2017:10:08:58 +0000] "GET /2.html HTTP/1.1" 404 204
172.17.0.1 - - [24/Aug/2017:10:08:58 +0000] "GET /3.html HTTP/1.1" 404 204
172.17.0.1 - - [24/Aug/2017:10:08:58 +0000] "GET /4.html HTTP/1.1" 404 204
172.17.0.1 - - [24/Aug/2017:10:08:58 +0000] "GET /5.html HTTP/1.1" 404 204
172.17.0.1 - - [24/Aug/2017:10:08:58 +0000] "GET /6.html HTTP/1.1" 404 204
172.17.0.1 - - [24/Aug/2017:10:08:58 +0000] "GET /7.html HTTP/1.1" 404 204
172.17.0.1 - - [24/Aug/2017:10:08:58 +0000] "GET /8.html HTTP/1.1" 404 204
172.17.0.1 - - [24/Aug/2017:10:08:58 +0000] "GET /9.html HTTP/1.1" 404 204
172.17.0.1 - - [24/Aug/2017:10:08:58 +0000] "GET /10.html HTTP/1.1" 404 205
172.17.0.1 - - [24/Aug/2017:10:08:58 +0000] "GET /11.html HTTP/1.1" 404 205
172.17.0.1 - - [24/Aug/2017:10:08:58 +0000] "GET /12.html HTTP/1.1" 404 205
172.17.0.1 - - [24/Aug/2017:10:08:58 +0000] "GET /13.html HTTP/1.1" 404 205
172.17.0.1 - - [24/Aug/2017:10:08:58 +0000] "GET /14.html HTTP/1.1" 404 205
172.17.0.1 - - [24/Aug/2017:10:08:58 +0000] "GET /15.html HTTP/1.1" 404 205
知らなかったので便利に使えそうである。
以上。