SadServersの問題の解説です。 URLは、https://sadservers.com/newserver/santiago
“Santiago”: Find the secret combination
Level: Easy
Description: Alice the spy has hidden a secret number combination, find it using these instructions:
アリスが隠した秘密の数字の組み合わせは、以下の手順で見つけてください。
- Find the number of lines where the string Alice occurs in *.txt files in the /home/admin directory
/home/adminディレクトリの*.txtファイルで、Aliceという文字列が出現する行数を探す
- There’s a file where “Alice” appears exactly once. In the line after that ocurrence there’s a number.
あるファイルに “Alice “が一度だけ登場します。その一回の後の行に数字があります。
Write both numbers consecutively as one (no new line or spaces) to the solution file (eg if the first number from 1) is 11 and the second 22, you can do echo -n 11 > /home/admin/solution; echo 22 >> /home/admin/solution
).
解答ファイルに両方の数字を1つずつ(改行やスペースを入れずに)連続して書きます(例えば、1)からの数字が11で2)が22の場合、 echo -n 11 > /home/admin/solution; echo 22 >> /home/admin/solution とします)。
解法
まず、 /home/admin
に移動して、*.txt ファイルを確認する。
$ cd /home/admin/
$ ls *.txt
11-0.txt 1342-0.txt 1661-0.txt 84-0.txt
4つのtxt ファイルがあることがわかる。それぞれgrep
して調べてもいいが、ちょっとめんどくさいので、xargs
でまとめて実行してみる。
grep -c
はマッチしたカウントを表示する。
/$ ls *.txt | xargs grep -c Alice
11-0.txt:398
1342-0.txt:1
1661-0.txt:12
84-0.txt:0
このことから、Alice
の出現数の合計は 398 + 1 + 12 + 0 = 411
。 これが 1) の解答。また、Alice
が1回のみ含まれるのは、1342-0.txt
とわかる。view
とかでファイルの中身を見てみると、Alice
の次の行に156
という数字を確認。これが2)の解答。
1)の解答411
と 2)の解答156
を使って /home/admin/solution
を作成する。
$ echo -n 411 > /home/admin/solution; echo 156 >> /home/admin/solution
最後に md5を確認。
$ md5sum /home/admin/solution
d80e026d18a57b56bddf1d99a8a491f9 /home/admin/solution