シェルワンライナー160本ノック問題144
問題144 条件にあうファイルだけをもとに戻す
問題のファイルは
https://github.com/shellgei/shellgei160
からダウンロードできる。
ワンライナーでディレクトリを移動しながら処理すればいいのではと思ったが解答例はもっときちんと解いていた。findの使い方を理解する必要があるように思える。
解答例は
find css img -type f -print0 | xargs -0 git checkout HEAD^
となる。-type f で種類がファイルのものだけを出力する。-print0は区切り文字をヌル文字にして出力するオプションだ。xargsの-0は区切り文字をヌル文字として受け取るオプションとなる。これをつけるとファイル名やディレクトリ名にスペースが入っていてもきちんと認識できる。