問題タブ [sed]
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.
perl - sed: 複数行にわたる変数の使用
LDAP ログ ファイルから特定のユーザーのバインドを「grep」しようとしています。必要な行は、ログ内の複数の行に分散されます。入力例は次のとおりです。
この例では、結果は次のようになります。
基本的に、これは複数の接続にわたるサーバー操作のログです。管理ユーザーによる「バインド」操作に費やされた時間を分析する必要がありますが、このサーバーは非常にビジーであるため、多くのノイズを除去する必要があります。
擬似コード:
この例では、ユーザー「cn=admin」が前にある「DoBind」行と、接続番号「0x7c8affc0」に従ってリストされている結果行を取得したいと思います。別の接続で行われている「認証に失敗しました」メッセージなど、バインドの開始と終了の間で必要のない他の操作が行われる場合があります。
さらに、バインドが完了した後、接続で他の操作が行われますが、これには興味がありません。上記では、「バインド」後に発生した DoSearch 操作の結果をキャプチャしてはなりません。
私は「sed」でこれをやろうとしていますが、これは仕事に適したツールのようです。残念ながら、私は初心者であり、これは学習経験です。これが私がこれまでに持っているものです:
sed は、'\1' を使用している 2 行目に文句を言います。接続アドレスをキャプチャし、その後の検索でそれを使用して結果文字列をキャプチャしようとしていますが、明らかに正しく使用していません。「#」変数は、各検索操作に対してローカルであるようです。
ある検索から別の検索に「変数」を渡す方法はありますか、それとも代わりに perl を学習する必要がありますか?
vim - sedまたはawkでの置換を列挙します
行のあるプレーンテキストファイルが与えられた
sedまたはawkの魔法がそれをに変換するもの
そのため、「foo」が出現するたびに「foo_[発生番号]」に置き換えられます。
bash - この sed コマンドが bash スクリプト内では何もせず、外部では機能するのはなぜですか?
上記のスクリプトは、sourceforge で見つかった sed ワンライナーのすばらしいリストからのものです。
bash スクリプトで使用したいのですが、スクリプト内で使用しても効果がありません。スクリプトの出力をパイプすると、説明したように、結合ペアの行が横に結合されます。
一部の文字はエスケープする必要がありますが、bash スクリプト内で機能させるためにどの文字をエスケープする必要があるかを「見る」ことができません。
よろしくお願いします!
後で..
このスクリプトを使用した場合:
正常に動作します..
これについて私の考えをもう一度まとめさせてください..
後で...
スクリプトを壊した論理エラーがスクリプトに見つかりました。
sed - sedのブロック交換
sedを使用してファイル内のブロックを置き換えようとしていますが、成功しません。
たとえば、これを置き換えたい:
これとともに:
regex - Unix シェル変数からパターンに一致する部分文字列を抽出する方法
私は Unix シェル スクリプトに比較的慣れていません。これが私の問題です。私はこのスクリプトを使用しました...
この結果を生成するには...
isql の出力をエコーする代わりに、"257" を抽出して別の変数に貼り付け、スクリプトから 257 を返すことができるようにします。ある種の sed または grep コマンドでこれを行うと考えていますが、どこから始めればよいかわかりません。
助言がありますか?
python - 特定のフォルダーの内容の単語を Sed/Python/Perl で置き換えることができません
フォルダー、サブフォルダー、およびファイルがあるプロジェクトがあります。各ファイルで Masi という単語を Bond という単語に置き換える必要があります。
次の replace という Sed スクリプトの実行に失敗しました
Zshで
出力として、Masi を含まないファイルも含め、すべてのファイルが表示されます。
Sed は、必ずしもタスクに最適なツールではありません。Python と Perl に興味があります。
ファイルの内容のみが変更されるように、Sed/Perl/Python でどのように置換しますか?
regex - Linux/HPUX での正規表現
Linux と HPUX で正規表現に違いはありますか?
私はそれらをsedで使用しています。
Linuxでのみ機能する次のことを試しています:
sed -e "s/^\s ant\s $/#ant/g" Makefile
「^」を削除すると、HPでも機能することがわかりました。私が理解している限り、これは両方でサポートされているはずです。
regex - sed初心者:フォルダ内のすべての出現箇所を変更する
フォルダー(およびそのサブフォルダー)内のすべてのファイルに対して正規表現の検索と置換を行う必要があります。それを行うためのLinuxシェルコマンドは何でしょうか?
たとえば、これをすべてのファイルに対して実行し、古いファイルを新しい置き換えられたテキストで上書きしたいとします。
regex - Sedの[]内のテキストを見つける方法は?
これは、すでに尋ねられた質問に似ています。しかし、私はSed固有の答えを探しています。次のようなテキストがあります。
いくつかのサンプルテキスト[いくつかの余分なテキストを含む].foo
角かっこ内のテキストだけを取得する必要があります。これまでの私の試みは無駄でした。他のツールで行を解析することはできますが、Sedに正しく解析させることができないようです。
regex - 簡単なSEDコマンド
使用しているプログラムからのhtmlレポートがあります。その非常に単純なhtmlとidは、少し修正するのが好きです。
置き換えるためにsedでどのコードを実行する必要がありますか
ありがとう、ラス