問題タブ [grep]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - Windowsの再帰的なgrepコマンドライン
Windowsでは再帰的なgrepを実行する必要があります。これは、Unix/Linuxでは次のようになります。
またはより好ましい方法:
私はcmd.exeだけで立ち往生しているので、Windowsの組み込みコマンドしかありません。残念ながら、 CygwinやUnxUtilsなどのサードパーティツールをこのサーバーにインストールできません。PowerShellをインストールできるかどうかさえわかりません。cmd.exeビルトイン(Windows 2003 Server)のみを使用した提案はありますか?
grep - 複数のファイルをgrepしているときに、最初の一致後に停止するにはどうすればよいですか?
テキスト ファイルにパターンのリストがあり、bzgrep を使用して複数のファイルを照合します。
現在のパターンに最初に一致した後に bzgrep (grep) を停止するにはどうすればよいですか (grep されている現在のファイルで停止するのではなく、完全に停止する必要があります)、次のパターンに進みます。「-m 1」パラメーターについて読みましたが、現在のファイルでのみ停止すると思います。何か案は?
ありがとう
shell - ファイル内のタブキーを確認する方法は?
いくつかのファイルにタブ文字(ASCII 0x09)が含まれているかどうかを確認したいと思います。(リポジトリにコミットする前に、ソースがタブフリーであることを表明するため。)
できれば標準ツールを使用してください。もちろん、grepが頭に浮かびますが、どうやらgrep "\t" file.txt
一致していません...?!?
答えはおそらく痛々しいほど単純なことだと思いますが、途方に暮れています。
regex - 両方の式を持つファイルをgrepするにはどうすればよいですか?
複数の式を含むファイルを表示し、すべての式を含まないファイルを除外したいと思います。
何か案は?
ありがとう!
grep - Fedora の httpd.conf ファイルから複数行のテキストを置き換える grep コマンド
私はシェル スクリプトと Linux 環境の初心者です。
私のプロジェクトでは、 httpd.conf ファイルから次のテキストを検索しようとしています
次に、このテキストを削除して、同じテキストをもう一度書き直します。この書き換えを行う理由は、スクリプトが Web アプリの最初のインストール時に実行されるためですが、このシェル スクリプトの他の部分が他のタスクも実行しているため、しばらくしてから再度実行される可能性があるためです。したがって、最初はこのテキストが見つからず、単純に書き込まれますが、後でスクリプトを実行すると、このテキストが見つかり、削除して再度書き込む必要があります。
したがって、これを達成しようとしているスクリプトの部分は次のようなものです。
現在目の前にコードがないため、上記の構文エラーがある可能性がありますが、ロジック/コーディングは同じです。
上記のコード フラグメントは、grep コマンドが複数行の検索をサポートしていないため、達成したいことを実行できません。
私のOSはFedora8です。
必要なことを達成するために、このコードで何かを提案してください。
この点でどんな助けでも大歓迎です。
前もって感謝します。
返信ありがとうございます。
以前の悪いコードで申し訳ありません。現在修正されています。
Charlie と i-moan、作業性の制約により、このプロジェクトを配布する環境に追加する必要があるため、sed または perl を実装することはできません。
スティーブ、複数行のチェックをしたい。コードブロックに入れなかったので、ディレクトリタグを削除しました。:(
そのため、別の方法を見つける必要があります。
再度、感謝します。
よろしくお願いします。
python - ファイル内で目立つが、完全には重複していない行
目立つステートメントのためにWebアプリケーションのログファイルを調べています。
ほとんどの線は似ていて面白くありません。私はそれらをUnixuniq
に渡しますが、すべての行がわずかに異なるため、何もフィルタリングしません。それらはすべて異なるタイムスタンプを持ち、同様のステートメントは異なるユーザーIDを出力する可能性があります。
他とは著しく異なる線だけを取得する方法やツールは何ですか?(しかし、繰り返しますが、正確な複製ではありません)
私はPythonのdifflibで遊ぶことを考えていましたが、それは同じファイル内のすべての行のペアではなく、2つのファイルを比較することを目的としているようです。
[編集]
私は、このソリューションが各行の一意性スコアを与えると想定しました。つまり、「著しく異なる」とは、出力に含まれる行に対して一意性スコアが超えなければならないしきい値を選択することを意味します。
それに基づいて、それを定義する他の実行可能な方法がある場合は、話し合ってください。また、メソッドは100%の精度と再現率を持っている必要はありません。
[/編集]
例:
できるだけ汎用的な回答を希望します。最初にタイムスタンプを削除できることはわかっています。その言語はファイル内の他のものとはまったく異なる可能性があるため、末尾を削除することはより困難です。このような詳細は、私が以前に具体的な例を避けた理由ですが、一部の人々が尋ねたので...
同様の1:
同様の2:
異なる1:
別の1のケースでは、両方の行を返したいのですが、それらのような他の行は返したくありません。つまり、これらの2つの線は別個のタイプです(後で、統計的にまれな線タイプのみを要求できます)。一つには、編集距離はこれら2つの間ではるかに大きくなります。
regex - 正規表現は2つの数字に一致しますが、他には何も一致しません
ファイルの次の内容を取得します。
52245 と 52246 の両方に一致し、他には一致しないパターンはどれですか?
grep - 基本的なgrep
各行に ABC123 などの部分文字列が含まれる大きなファイルがあります。私が実行すると
また
これらの行は期待どおりに返されますが、実行すると
grep は対応する行を見つけることができません。
これはかなり些細な機能に思えますが、私は grep のヘビー ユーザーではないので、おそらく落とし穴がいくつかあります。
regex - PowerShellでselect-string(grep)を実行したときに、一致する正規表現のみを返すにはどうすればよいですか?
ファイル内のパターンを見つけようとしています。Select-String
行全体ではなく、一致した部分だけを使用して一致する場合。
これを行うために使用できるパラメーターはありますか?
例えば:
私がやったら
ファイルには次の行が含まれていました:
行全体が返されるのではなく、1-2-3だけの結果を取得したいと思います。
Powershellに相当するものを知りたいgrep -o