次のシェルスクリプトがあります。
#! /bin/sh
while read page_section
page=${page_section%%\ *}
section=${page_section#* } #NOTE: `%* }` is NOT a comment
wget --quiet --no-proxy www.cs.sun.ac.za/hons/$page -O html.tmp & wait
# echo ${page_section%%\ *} # verify correct string chopping
# echo ${page_section#* } # verify correct string chopping
./DokuWikiHtml2Latex.py html.tmp $section & wait
done < inputfile
そして、次のような入力ファイル:
doku.php?id=ndewet:tools:tramonitor TraMonitor
doku.php?id=ndewet:description Implementation -1
doku.php?id=ndewet:description Research\ Areas -1
スクリプトは、指定された多数の Web ページをダウンロードしinputfile
、残りの行 (例: "Implementation -1" または "Research\ Areas -1") を python スクリプトに渡す必要があります。
次に、スティッキー ビットについて説明します。このサンプル ファイルの 3 行目が処理されると、「Research\ Areas」が 2 つの個別の引数として Python スクリプトに渡されます。
>>> print sys.argv
['./DokuWikiHtml2Latex.py', 'html.tmp', 'Research', 'Areas', '-1']
「Research Areas」のような複数の単語のセクションを入力ファイルから python スクリプトの単一の引数に取得するにはどうすればよいですか? 「\」をエスケープしようとしましたが、
./DokuWikiHtml2Latex.py html.tmp `echo ${section#* }`
とりわけ、しかし役に立たない。
入力行の最後の数字は別の引数ですが、オプションです。