
.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 - 시간 명령 사용
다른 방법은 Bash 또는 /bin/time` 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
명령 앞에 접두사를 붙일 수 있습니다.