個人の営みにおいてさえ、少量でもデータがたまってくるとそれを振り返るときに、ある種の楽しさがある。可視化とかデータ活用というビッグなデータでなく、モレスキンノート(Wikipedia)のように、日常や非日常の営みを記したものを振り返る楽しさである。

西暦日付フォルダを毎日、自動作成するスクリプトを起動時にタスクスケジュールした筆者。かれこれ二カ月くらいのデータがたまっている。作業フォルダは業務的なものが多いので、振り返りたくもない!という声もあるだろうが、ものは考えようである。嫌なものもあれば、ああこれはうまくいったという前向きなヒントもあるだろうし、よりよい"業務モレスキン"を記したいと思えるものだ。

"横串検索"機能でデスクトップデータを振り返る

自作deskmemoコマンドで表示させると俯瞰でき、これはこれで振り返るに有用なのだが、一定の量になると中身にリーチしたくなる。この場合に有効なのが検索機能である。なかでも"横串検索機能"ともいえるGrep検索機能だ。過去に記事で紹介しているが

Get-ChildItem -Path "." -File | Select-String "キーワード"

デスクトップがほぼフォルダだけに整理されている状況では、データが無いのでマッチしない。フォルダの下まで再帰的に検索する必要がある。Get-Help Get-ChildItem -Onlineでヘルプを開くと、こちらの公式APIの解説が開くがこのような場合には-Recurseを付けてやると

Get-ChildItem -Path "." -Recurse -File | Select-String "Google"
  • デスクトップ以下の西暦日付フォルダ、さらにその下層にあるフォルダまでSelect-Stringでマッチするキーワードを表示

    デスクトップ以下の西暦日付フォルダ、さらにその下層にあるフォルダまでSelect-Stringでマッチするキーワードを表示

うまくキーワードで振り返ることが可能である。

"横串検索"機能をコマンド化しておく

短いスニペットであってもよく使うものは覚えやすくコマンド化しておくのがよい。こちらのcsvopenでパラメータを使ってプロファイルに記載しているので、そのまま当てはめると

function yokogushi {
    param(
        $A
    )
    Get-ChildItem -Path "." -Recurse -File | Select-String $A
}

notepad $PROFILEでPowerShellのプロファイルを開いて、.$PROFILEで反映させる。yokogushiのあとに検索するキーワードを入れると、

  • yokogushiコマンドで検索

    yokogushiコマンドで検索

  • ストックデータが増えればパラメーターに拡張子のチョイスなどを加えてもよさそうだ

    ストックデータが増えればパラメーターに拡張子のチョイスなどを加えてもよさそうだ

マッチする箇所がデスクトップ上の西暦日付フォルダであるため、ああ、あの日にこれをしていたのかなど一発で振り替えられる。それにしても、"検索"というコンピューターに備わる基本機能はすごいものだとあらためて感じる。