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 파일에 비밀번호가 저장되어 있군요. 조건은 한 번만 발생하는 유일한 한줄..? 아무튼 한 줄이라는 것 같군요!
비밀번호가 저장된 파일을 일단 읽어 보겠습니다.
bandit8@bandit:~$ ls
data.txt
bandit8@bandit:~$ cat data.txt
aMKlTMrptUxxTypCHocCTrqYRkR2gT8h
PRerp5EfTVxJHKuCZDXfAfRyCQSdPjMi
0BKVRLEJQcpNx8wnSPxDLFnFKlQafKK6
6Boy6esAjnIxCYn8uI6KZ7VD7zysDM8i
tgHSfEXcbYCejWXfsWDO4VXXbqtTVcqS
KZJOZECxhLxDhxDbGzdNy8m0uplzvP11
w6x5XtaoRWDqMCsYxgZIWuOKVdiGByAu
0kJ7XHD4gVtNSZIpqyP1V45sfz9OBLFo
Wr4hWlUhGCKJpGDCeio8C1pLVt7DZm3X
Su9w1lri9UACf53cL1evAMKXVgI0nfqe
6Boy6esAjnIxCYn8uI6KZ7VD7zysDM8i
CgUjZiluCoMEvzNAge1Nbv3g9tpLQQj2
ysKmfYcysVfnViisRBcXzgjjXMDgnKKv
1VKPEkd0bCtIRwMFVQfY7InulwOFyDsn
ylbAYB5vBiEAmViEQOBwITUwjSZkwC7Q
8pePxslMzXqA2mi87wFjxd44qDRdrPiW
ylbAYB5vBiEAmViEQOBwITUwjSZkwC7Q
aMKlTMrptUxxTypCHocCTrqYRkR2gT8h
7cP8ssLElERHXqOJc9T84bxsmJBjNXk2
HloFLs5IpuFLuVJugBxKEipr5QaObJMk
K8GxBwF1vxLQB5PaqlcCGfRniemRScj4
kgf5CWCm26sycUzaAJRP7e6hYKVwu7Y4
wcX8FCnaWngvBoYa5LrRlDsfRrr3C4kv
Wr4hWlUhGCKJpGDCeio8C1pLVt7DZm3X
Sd14OpeUCugURrfuu47xRwMGB1U6OSzB
omBfcRI91Zm06GI0RLngq05AMwe8Ndqo
Wr4hWlUhGCKJpGDCeio8C1pLVt7DZm3X
tVm8L7CmsGG0cox6GpzlkbQYl0Yavx6i
aMKlTMrptUxxTypCHocCTrqYRkR2gT8h
omBfcRI91Zm06GI0RLngq05AMwe8Ndqo
KhRNo5JlbDhxbBqCGIokXqBm54v7Wunm
ysKmfYcysVfnViisRBcXzgjjXMDgnKKv
1jfUH1m4XCjr7eWAeleGdaNSxFXRtX0l
0BKVRLEJQcpNx8wnSPxDLFnFKlQafKK6
pngaDVKjQWnWHOOUze15L3QpwqKme5M9
YZMapJFORxWg84gej4UzQvGYSqBmsPOo
9PqZLdu143n5djN9mL1MCamrmHERuV7k
mMD5Z4y1rRh07rmVRw2HfgcMegbKH0c0
4P8FsHcdr7d5WKnPtAaXY5SslKICd2gL
hevU1VzF39ZyhyYkCBgmVrY6DbiRt2t5
YZMapJFORxWg84gej4UzQvGYSqBmsPOo
L2iewY0lmIRR6arfrwWA3VhttgbJ0NIn
fSbQqHX7C5Er4WmMSlQ9jkl05sXYQgJU
JQx6RCcNbAesB2lehrUl821WnJPI5gHW
2u8fvAzvnaFlvQG3iPt4Wc1TFhPcGxhH
5hYz0028e1Q2TrtPVz5GZbpMzZNjebhh
BIAd2jxKMFmitEvp0WmsM0oDAwj4WSUa
pngaDVKjQWnWHOOUze15L3QpwqKme5M9
JQx6RCcNbAesB2lehrUl821WnJPI5gHW
8pePxslMzXqA2mi87wFjxd44qDRdrPiW
QPVchwY9MCJJ1W6kCWMncGWK2YfcUlFE
GW8cRcKbnz53MAPYECx99O0T8POlPIFk
GCaJbpW4K28ukFR84YhZFY6e7MvAOwpX
7cP8ssLElERHXqOJc9T84bxsmJBjNXk2
noa4sUvodI8D733ugvy2OAlttHdjMPWJ
9Tar2wcD3Urge6s2yp18CAE8zX1poUwV
hevU1VzF39ZyhyYkCBgmVrY6DbiRt2t5
ysKmfYcysVfnViisRBcXzgjjXMDgnKKv
RpRE5maDwMQTa8oJt7vVNqff7ElrjLTq
rENclsy8XIuTnTvJfXagTFpcd78FX8WM
tgHSfEXcbYCejWXfsWDO4VXXbqtTVcqS
.
.
.
.
.
이 파일에는 텍스트가 여러 줄로 이루어져 있는데 중복되는 문자열 들인가 봅니다.
한 번만 나오는 텍스트라.. 어떻게 해야 할까요??
이 문제를 풀기 위해서는 sort와 uniq 명령어를 알아야 합니다.
bandit8@bandit:~$ sort data.txt
0BKVRLEJQcpNx8wnSPxDLFnFKlQafKK6
0BKVRLEJQcpNx8wnSPxDLFnFKlQafKK6
0BKVRLEJQcpNx8wnSPxDLFnFKlQafKK6
0BKVRLEJQcpNx8wnSPxDLFnFKlQafKK6
0BKVRLEJQcpNx8wnSPxDLFnFKlQafKK6
0BKVRLEJQcpNx8wnSPxDLFnFKlQafKK6
0BKVRLEJQcpNx8wnSPxDLFnFKlQafKK6
0BKVRLEJQcpNx8wnSPxDLFnFKlQafKK6
0BKVRLEJQcpNx8wnSPxDLFnFKlQafKK6
0BKVRLEJQcpNx8wnSPxDLFnFKlQafKK6
0eJPctF8gK96ykGBBaKydhJgxSpTlJtz
0eJPctF8gK96ykGBBaKydhJgxSpTlJtz
0eJPctF8gK96ykGBBaKydhJgxSpTlJtz
0eJPctF8gK96ykGBBaKydhJgxSpTlJtz
0eJPctF8gK96ykGBBaKydhJgxSpTlJtz
0eJPctF8gK96ykGBBaKydhJgxSpTlJtz
0eJPctF8gK96ykGBBaKydhJgxSpTlJtz
0eJPctF8gK96ykGBBaKydhJgxSpTlJtz
0eJPctF8gK96ykGBBaKydhJgxSpTlJtz
0eJPctF8gK96ykGBBaKydhJgxSpTlJtz
0kJ7XHD4gVtNSZIpqyP1V45sfz9OBLFo
0kJ7XHD4gVtNSZIpqyP1V45sfz9OBLFo
0kJ7XHD4gVtNSZIpqyP1V45sfz9OBLFo
0kJ7XHD4gVtNSZIpqyP1V45sfz9OBLFo
0kJ7XHD4gVtNSZIpqyP1V45sfz9OBLFo
0kJ7XHD4gVtNSZIpqyP1V45sfz9OBLFo
0kJ7XHD4gVtNSZIpqyP1V45sfz9OBLFo
0kJ7XHD4gVtNSZIpqyP1V45sfz9OBLFo
0kJ7XHD4gVtNSZIpqyP1V45sfz9OBLFo
0kJ7XHD4gVtNSZIpqyP1V45sfz9OBLFo
0lPOvKhpHZebxji0gdjtGCd5GWiZnNBj
0lPOvKhpHZebxji0gdjtGCd5GWiZnNBj
0lPOvKhpHZebxji0gdjtGCd5GWiZnNBj
0lPOvKhpHZebxji0gdjtGCd5GWiZnNBj
0lPOvKhpHZebxji0gdjtGCd5GWiZnNBj
0lPOvKhpHZebxji0gdjtGCd5GWiZnNBj
0lPOvKhpHZebxji0gdjtGCd5GWiZnNBj
0lPOvKhpHZebxji0gdjtGCd5GWiZnNBj
0lPOvKhpHZebxji0gdjtGCd5GWiZnNBj
0lPOvKhpHZebxji0gdjtGCd5GWiZnNBj
0REUhKk0yMqQOwei6NK9ZqIpE5dVlWWM
0REUhKk0yMqQOwei6NK9ZqIpE5dVlWWM
0REUhKk0yMqQOwei6NK9ZqIpE5dVlWWM
0REUhKk0yMqQOwei6NK9ZqIpE5dVlWWM
...
위의 결과를 보다시피 sort 명령어는 텍스트 데이터를 정렬하는 명령어입니다.
그리고 uniq 명령어는 중복된 줄을 제거하는 명령어입니다.
여기서 조건이 있는데 반드시 중복된 줄이 연속으로 나와야 합니다.
뭔가 느낌이 오시죠??
즉, uniq는 sort와 함께 사용해야 시너지가 나는 것이죠!
moonsookang@MoonSooui-noteubug ~ % cat file.txt
Banana
Banana
Banana
Apple
Apple
Kiwi
Kiwi
Mango
moonsookang@MoonSooui-noteubug ~ % uniq file.txt
Banana
Apple
Kiwi
Mango
위 실행 내용과 같이 연속하여 중복된 값은 제거합니다!
저희가 원하는 결과랑은 조금 다르죠?
답은 uniq 명령어에 -u옵션만 추가해 주시면 됩니다.
moonsookang@MoonSooui-noteubug ~ % uniq -u file.txt
Mango
uniq -u는 중복없이 한 번만 등장한 줄만 출력하는 옵션이거든요!!
이 명령어를 사용하여 bandit 문제를 풀어보겠습니다.
bandit8@bandit:~$ sort data.txt | uniq -u
4CKMh1JI91bUIZZPXDqGanal4xvAg0JM
비밀번호 찾기 완성 :)