[완료] 여러 파일에서 최대값 뽑기
글쓴이: sayhappy / 작성시간: 화, 2007/05/15 - 11:10오전
제가 원하는 것은 아래처럼 로그 파일이 있을 때, 각 파일의 최대값을 얻어내는 쉘 명령어 입니다.
각 파일의 형식이 두 컬럼으로 되어 있는데, 그중 두번째 컬럼의 최대값을 뽑으려고 합니다.
그런데..
아래 제가 써놓은 명령어는 모든 로그 파일 중에 최대값만 뽑아내는 듯합니다.
ls 에서 한 개씩 파일을 넘길 수 있으면 될 것 같은데, 한 줄 할 수 있는 방법은 없는 건가요?
for in을 써야 하는것인지요?
# ls run-[0-9].log
run-0.log run-2.log run-4.log run-6.log run-8.log
run-1.log run-3.log run-5.log run-7.log run-9.log
#ls run-[0-9].log | xargs cut -f2 - | sort | tail -n 1
Forums:
해보지는
해보지는 않았지만:
find . -name "*.log" -exec cut -f2 {} \; | sort | tail -n 1
한번 해보세요.
^^; 안됩니다. 그냥 while 문 썼습니다.
한 줄로 해보고 싶었는데..
본문에 답이 있네요.
안될리가 없죠.
본문에 답이 있네요. for in을 쓰시면 한줄에 됩니다.^^
find 를 쓸경우에는 exec 에 pipe를 어떻게 넣어야 할까요. 그건 모르겠습니다.
그러나. 이경우는 안넣으면 됩니다. awk를 사용해서 최대값을 찾아서 END블럭에서 반환하면 될것 같습니다.
예제는 지금 쉘이 없는 관계로 생략^^
$ grep -H "" run-0.log |
$Myoungjin_JEON=@@=qw^rekcaH lreP rehtonA tsuJ^;$|++;{$i=$like=pop@@;unshift@@,$i;$~=18-length$i;print"\r[","~"x abs,(scalar reverse$i),"~"x($~-abs),"]"and select$good,$day,$mate,1/$~for 0..$~,-$~+1..-1;redo}
댓글 달기