7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

バッチファイルでgrepっぽいことをする

Posted at

ひとつ前にメールに添付されたPDFをテキスト化する方法について書いたが、そのテキストファイルを検索する方法について考える。

もちろんCygwinを入れてるのだからgrepで探せばいいのだが、ここはあえてバッチファイルで試してみる。

search.bat
@set /p keyword="Enter KEYWORD:"
if "%keyword%"=="q" exit
findstr %keyword% *.txt > temp
chcp 65001
cls
@type temp
@set /p answer="[Q]uit [O]pen:"
if "%answer%"=="o" notepad temp
if "%answer%"=="q" exit
@search.bat

ポイントは幾つかあって

  • set /pでキーワードを入力
  • grep相当の機能を持つfindstrを使う
  • chcpでUTF-8も表示できるようにする
  • clsして画面をクリア
  • メニュー表示し、qを入力すると終了。oを入力すると検索結果をコピペしやすいようメモ帳で開く。
  • 自分自身を呼び出し、繰り返し検索できるようにする

と、最近やってる姑息な手法を多く盛り込んでる。

なお、このバッチファイルは直接クリックするのではなく、ショートカットを作っておいて、そのショートカットの方を右クリックしてプロパティからフォントをMSゴシックに設定しておくと日本語も表示できる。

7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?