トップ回答者
unixの以下のコマンドと同じ動作を行いたい。

質問
-
お世話になっております。
大量のファイルを持つ、元のソースコード、50本くらいに手をいれ、その修正コード一覧を作成しようとしています。
修正箇所には全て "// Technish Modify...."とか、コメントを入れています。
この場合、unixであると
grep -l "Technish" ` find ./ -type f`
とかやれば一覧が出ますが、Windowsではどうやるのかよく分かりません・
grep 部分がfindstr /m で置き換わるのは分かりますが、コマンドに対して他のコマンドの出力結果を渡す所は
どうやればよいのでしょうか?2010年1月31日 7:27
回答
-
findstr /c:"Technish" /M /S 検索したいフォルダ\*.* のような感じでしょうか。
コマンドプロンプトで findstr /? などで「その他のオプションは確認してください。
例えば、
findstr /c:"Technish" /M /S D:\java\*.*
や
findstr /c:"Technish" /M /S D:\java\*.java
などのような感じで、一覧が画面表示されるはずなので、あとは必要に応じて、
findstr /c:"Technish" /M /S D:\java\*.* > D:\List.txt
findstr /c:"Technish" /M /S D:\java\*.* | more
などでテキストファイルに保存したり、1画面ずつ表示を停止したりが可能です。
※対象ファイルのカウントは、BATなどで別途仕組みが必要になりそうです。- 回答としてマーク 三沢健二 2010年2月9日 7:42
2010年1月31日 13:53
すべての返信
-
単純にコマンドの結果を次のコマンドに渡すのであれば、パイプで可能だと思いますが、
grep -l "Technish" ` find ./ -type f`
こちらがよく理解できていないので(grepやfindは大体分かるのですが・・・)、適用できるかどうかは判断してみてください。
リダイレクトとパイプ
http://www.fireproject.jp/feature/bash/basic/redirect-pipe.html2010年1月31日 8:40 -
参考までに、コマンドの結果を載せます。
winのdosプロンプトから、以下のような結果を得られるのなら何でもよいです。
やりたい事はカレンドディレクトリ配下の全ファイルからgrep条件に引っかかる、ファイルの「一覧」が欲しいのです。
後、最後に書くように 、 |wc とかでカウントもとりたいです。
タッタ、これだけの事をやるのに、winのコマンドでは四苦八苦してしまいます。
[test00@host00 tmp]$ grep -l Technish `find ./ -type f `
./jp/co/test/test_programs/foundation/portal/portal/display/event/PortalDisplayEvent.java
./jp/co/test/test_programs/foundation/portal/portal/display/event/PortalDisplayEventResult.java
./jp/co/test/test_programs/foundation/portal/portal/display/service/controller/PortalDisplayTransition.java
./jp/co/test/test_programs/foundation/portal/portal/display/service/controller/PortalDisplayServiceController.java
./jp/co/test/test_programs/foundation/portal/portal/display/service/controller/PortalDisplayServiceResult.java
./jp/co/test/test_programs/foundation/bpw/model/event/GetNotCompletedListEvent.java
./jp/co/test/test_programs/foundation/bpw/model/event/GetNewlyArrivalTaskListEvent.java
./jp/co/test/test_programs/foundation/bpw/model/event/GetTaskListConsentedListEvent.java
./jp/co/test/test_programs/foundation/bpw/model/event/GetNewlyArrivalTaskListEventResult.java
./jp/co/test/test_programs/foundation/bpw/model/event/GetNotCompletedListEventResult.java
./jp/co/test/test_programs/foundation/bpw/model/event/GetTaskListConsentedListEventResult.java
./jp/co/test/test_programs/foundation/bpw/model/event/GetTaskListReferListEvent.java
./jp/co/test/test_programs/foundation/bpw/model/event/GetTaskListReferListEventResult.java
./jp/co/test/test_programs/foundation/bpw/model/object/NotCompletedViewSelectKey.java
./jp/co/test/test_programs/foundation/bpw/model/object/ReferTaskInfoSelectKey.java
./jp/co/test/test_programs/foundation/bpw/model/data/BPWDataIF.java
./jp/co/test/test_programs/foundation/bpw/business/Portlet/view/NewlyArrivalPortletHelperBean.java
./jp/co/test/test_programs/foundation/bpw/business/TaskList/view/NotCompletedBodyBean.java
./jp/co/test/test_programs/foundation/bpw/business/TaskList/view/ReferBodyBean.java
./jp/co/test/test_programs/foundation/bpw/business/TaskList/view/ConsentedSelfBodyBean.java
./jp/co/test/test_programs/foundation/bpw/business/TaskList/controller/ReferBodyServiceResult.java
./jp/co/test/test_programs/foundation/bpw/business/TaskList/controller/ReferBodyTransition.java
./jp/co/test/test_programs/foundation/bpw/business/TaskList/controller/ConsentedBodyServiceController.java
./jp/co/test/test_programs/foundation/bpw/business/TaskList/controller/ConsentedBodyTransition.java
./jp/co/test/test_programs/foundation/bpw/business/TaskList/controller/NotCompletedBodyTransition.java
./jp/co/test/test_programs/foundation/bpw/business/TaskList/controller/NotCompletedBodyServiceResult.java
./jp/co/test/test_programs/foundation/bpw/business/TaskList/controller/NotCompletedBodyServiceController.java
./jp/co/test/test_programs/foundation/bpw/business/TaskList/controller/ConsentedBodyServiceResult.java
./jp/co/test/test_programs/foundation/bpw/business/TaskList/controller/ReferBodyServiceController.java
./jp/co/test/test_programs/system/bpw/BPWIntramartDBDAO.java
./jp/co/test/test_programs/system/bpw/GetNewlyArrivalTaskListEventListener.java
./jp/co/test/test_programs/system/bpw/TaskListConsentedViewIntramartDBDAO.java
./jp/co/test/test_programs/system/bpw/GetNewlyArrivalTaskListIntramartDBDAO.java
./jp/co/test/test_programs/system/bpw/TaskListReferViewIntramartDBDAO.java
./jp/co/test/test_programs/system/bpw/GetTaskListReferListEventListener.java
./jp/co/test/test_programs/system/bpw/GetNotCompletedListEventListener.java
./jp/co/test/test_programs/system/bpw/GetNotCompletedListIntramartDBDAO.java
./jp/co/test/test_programs/system/bpw/GetTaskListConsentedListEventListener.java
./bpw/Portlet/NewlyArrivedPortlet.jsp
./bpw/TaskList/NotCompletedBody.jsp
./bpw/TaskList/ReferBody.jsp
./bpw/TaskList/ConsentedSelfBody.jsp
./bpw/business/Portlet/NewlyArrivedPortlet.jsp
./bpw/business/TaskList/NotCompletedBody.jsp
./bpw/business/TaskList/ReferBody.jsp
./bpw/business/TaskList/ConsentedSelfBody.jsp
[test00@host00 tmp]$ grep -l Technish `find ./ -type f ` |wc
53 53 39332010年1月31日 12:23 -
findstr /c:"Technish" /M /S 検索したいフォルダ\*.* のような感じでしょうか。
コマンドプロンプトで findstr /? などで「その他のオプションは確認してください。
例えば、
findstr /c:"Technish" /M /S D:\java\*.*
や
findstr /c:"Technish" /M /S D:\java\*.java
などのような感じで、一覧が画面表示されるはずなので、あとは必要に応じて、
findstr /c:"Technish" /M /S D:\java\*.* > D:\List.txt
findstr /c:"Technish" /M /S D:\java\*.* | more
などでテキストファイルに保存したり、1画面ずつ表示を停止したりが可能です。
※対象ファイルのカウントは、BATなどで別途仕組みが必要になりそうです。- 回答としてマーク 三沢健二 2010年2月9日 7:42
2010年1月31日 13:53