[Bandit] Level 8 → Level 9
Bandit Level 8 풀이 과정을 설명합니다.
문제
Level Goal
The password for the next level is stored in the file data.txt and is the only line of text that occurs only once
data.txt에 오직 한 라인만 작성된 문장을 찾아 password로 사용하면 되는 것 같습니다.
해결
ls -al명령어를 통해 data.txt 파일을 확인할 수 있습니다.우선 data.txt 파일을 읽어보도록 하겠습니다.
cat명령어로 data.txt 파일을 실행해보면 패스워드를 찾기 힘든 형태로 되어 있습니다.우선 문장들을 정렬해보도록 하겠습니다.
이전 레벨들에서 종종 나왔던,
sort명령어를 활용해보겠습니다.
sort명령어로 data.txt 파일을 정렬한 결과, 문장들이 중복되어 존재하는 것을 알 수 있습니다.이 중 중복 없이 존재하는 문장이 패스워드가 되는 것이라는 것을 다시 한 번 이해해볼 수 있겠네요.
그렇다면 중복을 삭제하는 과정이 필요합니다.
리눅스에서는
uniq명령을 사용할 수 있습니다.
uniq명령어로 중복된 문장을 삭제하고 출력해보면 패스워드를 획득할 수 있습니다.이때,
sort명령어를 파이프로 리다이렉션하게 되면, 오름차순 정렬 된 결과를uniq명령의 입력으로 넘겨주어 중복된 문장을 삭제할 수 있습니다.
핵심
sort 명령어
텍스트로 된 파일의 내용을 정렬하거나, 정렬된 파일의 내용을 병합할 때 사용
sort [option] [file] 의 형태로 사용
옵션 사용x → 오름차순 정렬
두 번째 필드를 기준으로 정렬하고 싶다면 sort +1 [file] 의 형태로 사용
파일에 저장하고 싶은 경우
-o옵션 사용해 sort [file] -o [저장할 파일명] 의 형태로 사용
uniq 명령어
중복된 내용 삭제 (전체적으로 분산된 중복은 찾을 수 없음 → 정렬 후 적용해야 함)
uniq [option] [file] 형태로 사용
댓글
이 글이 마음에 드셨다면 반응이나 댓글을 남겨주세요!
댓글을 작성하려면 로그인하세요

뉴스레터 구독하기
새로운 포스트가 올라오면 이메일로 알려드려요!