1

NTemacsとCygwinのgrepを使用して、サブフォルダー内のファイルに対して再帰的なgrepコマンドを実行しようとしています。これまでのところ、「最良の」結果はeshellでgrepを使用することです。私がこれを使うとき:

grep "t" -r *

1層下のすべてのサブフォルダーに、文字tを含むすべてのファイル名のリストが表示されますが、それ以外は表示されません。Cygwinでは何も得られません。Cygwinのインストールに含まれていないdirectroyに取り組んでいます。そのマザーかどうかわからない。

私が欲しいのは、すべてのファイル(ファイル名だけでなくコンテンツ)のより複雑な文字列のコンテンツを一致させることです。そして、すべてのサブディレクトリにあります。

emacsのeshellを使用したいのですが、LINUXを使用したフォームとは別に、提案を受け付けています。これは仕事用のPCであり、LINUXインストールのすべてのセットアップを実行したくありません。

4

1 に答える 1

1

私はちょうど別の質問に非常によく似た答えを書きましたが、それは同じ根本的な問題だと思います:

私の最初の考えは、ファイルには unix/linux の行末 (LF) ではなく Windows の行末 (CRLF) があり、ファイルを解析する grep の機能を台無しにしているということです。これを実行してみてください:

dos2unix filename

検索する必要がある各ファイルで、grep ステートメントを再試行してください。

複数のディレクトリにまたがる多くのファイルを変換する必要がある場合は、次のアクションを使用dos2unixすることをお勧めします。-execfind

find . -exec dos2unix {} \;

(もちろん、それを実行する前に見つける必要がある他のオプションを追加してください)

于 2012-12-06T20:22:22.253 に答える