watch コマンドで SHELXE の進捗を監視

先日、@yam_cpp 氏に watch コマンドを教えてもらった。これは、定期的にコマンドを実行して、結果をフルスクリーンで(=再実行ごとに clear を実行して)表示する。解説は watch でコマンドを延々と実行する - いますぐ実践! Linuxシステム管理 / Vol.223 が分かりやすい。

例えば、SHELXE での chain trace の進捗を10秒ごとに監視するには以下のようにする。トレースできた残基数でソートしつつ、awk によって鎖あたりの平均残基数も併記する

watch -n 10 "grep CC *.pdb | sort -k8 | awk '{print \$0, \$8 / \$11}'"

watch の引数内でのエスケープ処理については、man に何か書いてあるが、よく分からなかったので試行錯誤した。bash - Using the watch command with an argument that contains quotes - Super User も参考にした。