.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
또 다른 방법은 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
접두사를 추가 할 수 있습니다.