리눅스 초보자 및 첫 번째 게시물. 나의 명확성의 결여를 용서하십시오.최소값 차이 값 방법
필자는 파일로 awking하는 파일과 와일드 카드를 사용하여 awking하는 두 가지 방법 사이의 불일치로 인한 간단한 최소 값 문제라고 생각합니다.
저는 현재 두 번째 열의 전반적인 최소값을 찾고 싶은 곳에 약 20,000 개의 파일이 있습니다. 모든 파일은 동일한 접두어를 가지며 스크립트를 실행하는 디렉토리의 한 수준 아래에 있으므로 작업을 빠르게 수행하기 위해 와일드 카드를 사용하고있었습니다.
예 :
awk 'min=="" || $2 < min {min=$2} END{print min}' */myfile.10*
그것은 실행하기 위해 약 14 초 정도 걸리지 만이 진정한 최소 발견되지 않습니다.
또한, 나는 각 디렉토리의 각 파일을 통해 강화 나는 올바른 최소 찾을 수가 :
min=1000000000.0
for dir in `ls -d *run*/`; do
minlocal=1000000000.0
for file in `ls -1 ${dir}myfile.*`; do
for val in `awk 'NR==1 {print $2}' $genfile`; do
compare_result=`echo $minlocal" > "$val | bc`
if [ $compare_result -eq 1 ]; then
minlocal=$val
fileminlocal=$file
compare_result=`echo $min" > "$minlocal | bc`
if [ $compare_result -eq 1 ]; then
min=$val
filemin=$file
fi
fi
done
done
compare=`echo $min" > "$minlocal | bc`
if [ $compare -eq 1 ]; then
echo " Error finding lowest chi^2 in " $fileminlocal
echo " Skipping..."
else
echo " Lowest value (" $minlocal ")found in " $fileminlocal
fi
done
이 방법은 제대로 전체 최소 찾았지만 그렇게 4 분 정도 걸립니다. 나는이 파일들 각각을 통해 루핑하는 것이 더 많은 시간이 걸릴 것이라고 생각하지만, 왜 작업은 와일드 카드를 사용하여 실패 할까?
일부 파일에서 테스트를했는데, awk가 작동합니다. 나를 위해 그것은 올바른 가치를 제공합니다. '진정한 최소'란 무엇을 의미합니까? 이것을 다시 쓸 수 있습니다 :'awk '! min || $ 2
Jotne
응답하지 않을 때 우리는 어떻게 도울 수 있습니까? – Jotne
답장을 보내 주셔서 감사합니다 (이미 자러갔습니다). – user3719139