2개 컬럼으로 되어 있는 파일이 있는데요,
1 -10 2 -30 3 40 4 -20 5 -15 6 10
여기서, 가장 큰 값인 40이 해당하는 줄의 첫번째 컬럼값(즉, 3)을 출력하는 방법이 없을까요?
감사합니다.
꾸벅
awk '{print $2, $1}' | sort -rnsk 1 | head -1 | awk '{print $2}'
이런 짓 해 놓으면 분명히 저보다 까마득한 실력을 가진 해커분들이 더 깔끔한 풀이를 올려주셔서 저를 뻘쭘하게 하시겠지만 상관없습니다. 저도 좀 배워야지요.
sort -rnsk 2 | head -1 | awk '{print $1}'
나는 왜 이리 멍청한 것인가... 등잔 밑 어두운 줄 몰랐던 뉴비가 그래도 금방 눈치채고 고치러 왔습니다.
python -c 'import sys;print (max([[int(e) for e in line.split(" ")] for line in sys.stdin], key=(lambda x:x[1]))[0])'
python -c 'import sys;print (max([[int(e) for e in line.split()] for line in sys.stdin], key=(lambda x:x[1]))[0])'
python -c 'import sys;print (max([[int(e) for e in line.strip().split()] for line in sys.stdin], key=(lambda x:x[-1]))[0])'
감사할 뿐입니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
적절한 bash shell script
이런 짓 해 놓으면 분명히 저보다 까마득한 실력을 가진 해커분들이 더 깔끔한 풀이를 올려주셔서 저를 뻘쭘하게 하시겠지만 상관없습니다. 저도 좀 배워야지요.
...
나는 왜 이리 멍청한 것인가...
등잔 밑 어두운 줄 몰랐던 뉴비가 그래도 금방 눈치채고 고치러 왔습니다.
파이썬으로도...
split 안의 " "은 사족이었군요. 없는 게 낫겠습니다.
더 견고하게.
이러면 공백문자가 두 개 이상 있다거나 하는 문제에서 자유로워지겠죠.
제가 이 쓰레드를 너무 지저분하게 만드는 거 같은데 죄송합니다. 이제 그만둘게요.
더 지저분하게 해주셔도 됩니다. ㅎㅎ
감사합니다.
이보다 더 깔끔할 수도 있나요? 신의 경지?
감사할 뿐입니다.
댓글 달기