김승현

[OverTheWire] Bandit Level 8 → Level 9 본문

Linux/OverTheWire : Bandit

[OverTheWire] Bandit Level 8 → Level 9

kshind 2023. 2. 16. 15:14

문제

 

문제 원문

암호는 data.txt 파일 안에 있으며 암호는 한 줄인데 중복되지 않는 내용의 한 줄만 있다는 문제이다.

사용할 커맨드

홈페이지에서 주어진 명령어 중 uniq가 있는데 이 명령어는 중복을 제거하는 명령어이기 때문에

uniq를 활용해서 문제를 해결하면 될 것 같다.

 

풀이

ls를 해보면 설명에서 있던 것처럼 data.txt가 있는 걸 확인할 수 있다.

data.txt를 cat 해보면 한 줄씩 암호들이 나열되어 있다.여기서 중복되지 않고 하나만 있는 문자를 찾아야 한다.

이때 필요한 명령어가 uniqsort이다.


uniq : 중복된 내용이 연속된 행에 존재한다면 하나만 남기고 제거한다.

      ex1)


      asd                                  asd
      zxc                 →              zxc
      asd                                  asd
      ex2)


      asd                                 asd
      asd                 →            zxc
      zxc

uniq의 옵션 

-c : 몇 번 중복되는지 표시

-u : 중복되지 않는 것만 표시

 

그러나 data.txt를 보면 중복된 내용이 있어보이지만 연속된 행에 존재하진 않는다. 이때 필요한 게 sort 명령어이다.

 

sort : 오름차순으로 문자들을 정렬한다.

      ex) 
      

      abcd                         abcd
      bcde            →         addd
      addd                         bcde
      

오름차순으로 정렬해서 중복되는 것들을 연속된 행에 정렬시킨 후,

uniq -u를 통해 중복되지 않는 문자열만 출력해서 나오는 문자열이 다음 단계로 가는 암호이다.

 


다음 문제

https://kshind.tistory.com/11

 

[OverTheWire] Bandit Level 9 → Level 10

문제 암호는 data.txt 파일에 있다. 암호는 앞에 몇개의 =문자가 있고 사람이 읽을 수 있는 문자열 중 하나라는 것 같다. 필요한 명령어에 보면 strings라는 명령어가 있는데 문제에도 strings가 있고

kshind.tistory.com