学生の皆様、そして各会場の関係者の皆様も、センター試験お疲れ様でした。私にとっては遥か昔の出来事なので、どのくらい大変だったかもはや思い出せなくなっております。そんな他人事としてセンター試験を眺めている中で、『1000tar試験』という糞なダジャレを思いついてしまいました。せっかくなので、センター試験後の息抜きに1000tar試験はいかがでしょうか。(1スベリ)
1000tar試験 問題
GitHub - hijili/1000tar_test: joke of National Center Test
問題を作って確認するスクリプトは一応ここにあります。動くかわかりませんが。
問1
0001.tar ... 1000.tar がある。解凍(解答)せよ。(2スベリ) なお、tarには同名のtxtファイルが1つだけ含まれていることが分かっている。
$ ls -1 q1 0001.tar 0002.tar : 1000.tar
問2
0001.tar ... 1000.tar がある。解凍せよ。同時に、tarでないファイルを特定し削除せよ。 なお、tarには同名のtxtファイルが1つだけ含まれていることが分かっている。
問3
0001.tar ... 1000.tar がある。解凍せよ。 ただし、tarファイルの中身は不明であることに注意せよ。
解答
問1
まあ、ただのfor文の使い方だけですね。1tarが1txtだと書いてあるのでこんなもんでよいでしょう。
for i in {0001..1000}; do tar xf $i.tar done
問2
内容としては大して変わってませんが。
for i in {0001..1000}; do tar xf $i.tar &>/dev/null || echo "$i.tar is illegal" && rm $i.tar done
tarかどうかチェックする方法もありますが、エラーが返ったら消す、だけでもこの場合いいでしょう。別のエラーが混ざるかもしれませんけど…
問3
問1の段階でやっとけよという話ですが…
for i in {0001..1000}; do mkdir -p ${i}dir tar xfk $i.tar -C ./${i}dir done
得体の知れないtarファイルを解凍する場合は、同名ファイルを上書きしない -k オプションをつけたり、解凍先ディレクトリを分けるべきです。このtarの中には、重複して上書きされてしまうファイルがいくつも混ざっていました。
終わりですがなにか?
Q1. この内容なら1000個もtar要らなくね?
要らないけどそれじゃダジャレにならんやろがい!!
Q2. 内容薄くない?
そもそも『1000tar試験』ってダジャレがちょっと浮かんだだけでここまでやったんだから十分やろがいボケェ!!
Q3. 間違ってない?
細かいことは気にせず自分のできることをやれ!!
Q4. ひょっとしてゾンビランドサガの巽さん意識してない?
ちょうど観たばかりで影響受けまくってます。
結局全部観てしまった… 設定オチかと甘く見てたら後半に連れて謎の感動。劇中歌も物語のテンポもよい。まだ先がありそうなので業界の腐敗神話になりそう。
— 聖 (@hijili2) 2019年1月20日
RT: https://t.co/2Isi7FvziH: ゾンビランドサガ | Prime Video https://t.co/mzr3GMuMBl
以上です
1000tar(センター)と解凍(解答)がかかってて面白いと思っただけなんです。 それにしても問題作るって大変ですね。その苦労を思えばニンジンに羽を生やすくらいの自由はいいのではないかと感じました。
あ、あとWindowsのキミ!シェルスクリプトとか関係ないなんて思わないで!Windows Subsystem for Linuxでも試せっから(10なら)!ぜひやってみてくれよな!zipとかでも同じことできるからな!!