ファイルに保存された長いコマンドがあります。
また、この同じコマンドに渡したい入力ファイルのリストもある
ため、%s
指定子が 2 か所あります。
$ cat https-tcp-session.txt
rm -f /tmp/A.raw /tmp/B.raw /tmp/result.raw; \
rwfilter --sport=443 --proto=6 --pass=stdout %s | \
rwsort --fields=sIP,dIP | \
rwgroup --id-fields=sIP,dIP --summarize | \
rwfilter --input-pipe=stdin --pass=/tmp/A.raw --packets=200-; \
rwfilter --dport=443 --proto=6 --pass=stdout %s | \
rwsort --fields=sIP,dIP | \
rwgroup --id-fields=sIP,dIP --summarize | \
rwfilter --input-pipe=stdin --pass=/tmp/B.raw --packets=200-; \
rwmatch --relate=1,2 --relate=2,1 \
/tmp/A.raw /tmp/B.raw /tmp/result.raw;
次に、python REPL で試してみます。
>>> cmd = open('https-tcp-session.txt').read()
>>> cmd = cmd.replace('%s', 'trace.rwf.gz')
>>> time = '/usr/bin/time -f "%e"'
>>> stmt = '%s %s'%(time, cmd)
>>> os.system(stmt)
0.01
0
それは正しくないようです。好奇心のために、入力ファイルを入れて、シェルから実行しようとしました
$ /usr/bin/time -f "%e" bash https-tcp-session.txt
17.73
ブロックの最初のコマンドのタイミングだけが時間のように感じます(rm)