findstrコマンド:windowsでgrep擬き
Last-modified: 2013-08-24 (土) 02:14:21 (3496d)
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
おお、抽出できてる!笑
なかなか便利なコマンドだと思うので、活用されたし!