.texpadtmp
元のコードベースのディレクトリを除くすべてのディレクトリでPDFファイルを検索しています。この議論。
function findpdfs() {
find . -iname '*.pdf' -not -path "*.texpadtmp*" | while read filename
do
echo -e "\033[34;1m// === PDF Document:\033[33;1m $filename\033[0m"
pdftotext -enc Latin1 "$filename" - | grep --color=always -i $1
time # TODO problem here!
done
}
最後の行では、成功せずに各ファイルのスクリプト実行時間を印刷しようとします。
時間を正しく印刷する方法は?
次の目標は、すべての実行時間を取得し、それをパーセントで整数として出力し、リソースがほとんどの時間どこで使用されるかを推定することです。
答え1
方法 #1 - 開始/終了時間を使用
通常、次のような場所で完了することがわかります。
begin=$(date +%s)
... do something ...
end=$(date +%s)
次に、$begin
時間から時間を減算して、経過し$end
た秒数を取得します。
tottime=$(expr $end - $begin)
方法 #2 - 時間コマンドの使用
time
もう1つの方法は、Bashまたは/bin/timeに組み込まれたコマンドを使用することですtime program that's included with most Linux/Unix systems here,
。
次のように確認できます。
$ type -a time
time is a shell keyword
time is /usr/bin/time
time is /bin/time
次のように使用します。
組み込み$ time sleep 5
real 0m5.004s
user 0m0.001s
sys 0m0.001s
スタンドアロン実行可能ファイル
$ /bin/time sleep 5
0.00user 0.00system 0:05.00elapsed 0%CPU (0avgtext+0avgdata 628maxresident)k
0inputs+0outputs (0major+191minor)pagefaults 0swaps
異なる出力を提供しますが、必要に応じて出力を使用できます。両方とも、コマンドの実行にかかる時間を印刷します。
$ time <cmd>
したがって、コマンドにpdf2text
プレフィックスを追加できます。