トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

findstrコマンド:windowsでgrep擬き

Last-modified: 2013-08-24 (土) 02:14:21 (2216d)
Top / findstrコマンド:windowsでgrep擬き

findstrコマンド:windowsでgrep擬き

Linuxの

ls -l | grep XXX

みたいなオペレーションを、windowでもやりたいときは、以下のコマンドを組み合わせてできます

  • dirコマンド
    Oオプションを指定して、名前順とか、更新日付順とかでソートします。

Oオプションの詳細は以下の通り

 /O          ファイルを並べ替えて表示します。
 ソート順    N  名前順 (アルファベット)     S  サイズ順 (小さいほうから)
             E  拡張子順 (アルファベット)   D  日時順 (古いほうから)
             G  グループ (ディレクトリから) -  降順
  • findstr
    grepみたいな動作をしてくれるコマンドです。

この2つのコマンドを以下の用に組み合わせて実行します。

dir /on | findstr XXXX

すると、名前順にソートされたリストの中で「XXXX」と一致する行を出力してくれます。

実行例

まず、通常のdirコマンドの名前順にソートした場合の出力結果

F:\tmp>dir /on
 ドライブ F のボリューム ラベルがありません。
 ボリューム シリアル番号は 98D3-48E8 です

 F:\tmp のディレクトリ

2009/07/22  17:27    <DIR>          .
2009/07/22  17:27    <DIR>          ..
2009/07/22  17:23                 0 20090105.log
2009/07/22  17:23                 0 20090112.log
2009/07/22  17:23                 0 20090119.log
2009/07/22  17:23                 0 20090122.log
2009/07/22  17:23                 0 20090130.log
2009/07/22  17:23                 0 20090202.log
2009/07/22  17:23                 0 20090205.log
2009/07/22  17:23                 0 20090208.log
2009/07/22  17:23                 0 20090211.log
2009/07/22  17:23                 0 20090218.log
2009/07/22  17:23                 0 20090222.log
2009/07/22  17:23                 0 20090301.log
2009/07/22  17:23                 0 20090303.log
2009/07/22  17:23                 0 20090304.log
2009/07/22  17:23                 0 20090305.log
2009/07/22  17:23                 0 20090310.log
2009/07/22  17:23                 0 20090311.log
2009/07/22  17:23                 0 20090318.log
2009/07/22  17:23                 0 20090319.log
2009/07/22  17:23                 0 20090323.log
2009/07/22  17:23                 0 20090329.log
              21 個のファイル                   0 バイト
               2 個のディレクトリ  58,727,616,512 バイトの空き領域

次に、「200902」でgrep(findstr)した場合の出力結果

F:\tmp>dir /on | findstr 200902
2009/07/22  17:23                 0 20090202.log
2009/07/22  17:23                 0 20090205.log
2009/07/22  17:23                 0 20090208.log
2009/07/22  17:23                 0 20090211.log
2009/07/22  17:23                 0 20090218.log
2009/07/22  17:23                 0 20090222.log

おお、抽出できてる!笑

なかなか便利なコマンドだと思うので、活用されたし!