셸을 단순히 사용하는 것에서 나아가 ‘잘’ 활용할 수 있다면 더 많은 일을 쉽게 할 수 있습니다. 개발자뿐만 아니라 시스템 관리자 등 셸을 항상 사용해야 하는 사람이라면 더더욱 셸 명령을 잘 알아야 합니다. 예를 들어 한 디렉터리 안에서 내용이 같은 파일을 찾고 싶다면 어떻게 해야 할까요? 셸 명령(셸 스크립트)에 익숙하지 않다면 파이썬 등의 언어로 프로그램을 하나 짜야겠죠? 이 문제는 이번에 나온 《아트 오브 셸 원라이너 160제》의 실전 문제 109번 내용입니다.
귀여운 근육 야옹이
챗GPT에게 파이썬으로 짜라고 시키니까 29줄짜리 코드가 나옵니다.
승리의 챗GPT
검색해보니 스택오버플로에는 더 긴 코드가 있긴 하네요(중복 파일을 찾아서 제거까지 하는 버전). https://stackoverflow.com/questions/748675/finding-duplicate-files-and-removing-them
단순히 해시값 같은 파일들만 찾는 게 이렇게 어려울 필요가 있을까요? awk, find, md5sum, xargs 같은 셸 커맨드를 알고 있다면 다음과 같이 단 한 줄로 해결할 수 있습니다. 자세한 해설은 《아트 오브 셸 원라이너 160제》 394~396쪽을 참고하세요.
sudo find /etc -type f | sudo xargs md5sum | awk '{a[$1]=a[$1]" "$2}END{for(k in a){print k, a[k]}}' | awk 'NF>2'
물론 짧은 코드가 항상 좋은 건 아닙니다. 그럼에도 코드 골프 같은 스포츠(?)가 존재하는 것처럼, 이렇게 문제를 간단하게 해결하기 위해 사고하는 행위 자체로 문제 해결 능력을 키울 수 있습니다. 그런 의미에서 하루 한 문제씩 꾸준하게 160개 문제를 풀며 커맨드 근육을 키우는 방법을 설명한 책이 바로 《아트 오브 셸 원라이너 160제》입니다. 일본의 ‘셸 장인’들이 출제한 극한 문제들이 당신을 기다리고 있습니다. 지금 도전해보세요.
■ 미리보기(옮긴이 머리말, 베타리더 후기, 지은이 소개, 이 책에 대하여, 감사의 글, 1장 일부)
https://jpub.tistory.com/1392 jpub 제이펍
'IT' 카테고리의 다른 글
5시간 착용해도 귀가 1도 안 아픈 인생 게이밍 헤드셋 찾음 ㄷㄷ (1) | 2023.05.10 |
---|---|
LG에서 끝판왕 OLED 240Hz 모니터가 나왔습니다 (1) | 2023.05.09 |
[꿀팁대방출2탄]개발자를 위한 애드센스(AdSense) 승인,운영,주의사항!웹사이트로 용돈벌기 (0) | 2023.05.08 |
카카오 애드핏 승인 신청하는 법 (3) | 2023.04.21 |
인공지능 소프트웨어 품질 보증을 위한 테스트 기법 (0) | 2023.04.20 |
갓직장 네이버 프런트엔드 개발자들의 성장 이야기 (0) | 2023.04.20 |
엑셀과 운전면허에는 공통점이 있다? (3) | 2023.04.18 |
갤럭시 Z플립5 출시일 가격 특징까지 커버디스플레이 더 커지나? (1) | 2023.04.03 |