Ansatzの備忘録

勉強したことあるいはふと思い立ったこと

シェルワンライナー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は区切り文字をヌル文字として受け取るオプションとなる。これをつけるとファイル名やディレクトリ名にスペースが入っていてもきちんと認識できる。