問題タブ [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.
sed - sed/awk で行範囲に対してアクションを実行する
sed/awk の特定の範囲の行から特定の変数を抽出するにはどうすればよいですか?
例: 105 行目から始まるこのセクションから、.tnsnames.ora からホストとポートを抽出します。
regex - UNIX ログ ファイル出力の行を分割する方法
ログ ファイルから日付と時刻を解析できるようにしたいと考えています。現在、それらは次の形式になっています。
「02/Jun/2009:14:38:50」ですが、Linuxコマンドラインから利用できるものを使用して、それらを異なる列に分けて、結果の出力が次のようになるようにしたいと思います:
"2009/06/02" "14:38:50"
誰かがこれをどのように行うことができるかについて光を当てることができますか?
よろしく
sed - sed行範囲、最後の行を除くすべて
操作する行の範囲を指定できます。たとえば、すべての回線を操作するには(もちろんデフォルトです):
しかし、私は最後の行を除いてすべてを操作する必要があります。どうやら算術式を使用することはできません:
(この場合、違いが生じる場合はcygwinを使用しています)
sed - sed/awkの残りのフィールドを分割する
私は次の行を持っています:
そしてそれを変換したい(フィールド2-> nに引用符を追加):
regex - シェルスクリプトの安全な rm -rf 関数
この質問は、* nix でディレクトリを空にする最も安全な方法は何ですか? に似ています。
いくつかのパス定数を定義し、それらをファイルとディレクトリの操作 (コピー、名前変更、削除) に使用する bash スクリプトを作成しています。多くの場合、次のようなことを行う必要があります。
このスクリプトを開発している間、PATH1 や PATH2 などの名前の入力ミスを防ぎ、それらが空の文字列に展開されてディスク全体が消去される状況を回避したいと考えています。特別なラッパーを作成することにしました:
次のように呼び出されます。
正規表現 (または sed 式) は、「*」、「/*」、「/**/」、「///*」などのパスをキャッチする必要がありますが、「dir」、「/dir」、「/dir1」などのパスは許可します。 /dir2/"、"/dir1/dir2/*". また、「/dir with space/*」のような場合にシェルのグロブを有効にする方法もわかりません。何か案は?
編集:これは私がこれまでに思いついたものです:
使用目的は次のとおりです (引用符内のアスタリスクに注意してください):
$SOMEPATH はシステムまたは /home ディレクトリではありません (私の場合、そのような操作はすべて /scratch ディレクトリの下にマウントされたファイルシステムで実行されます)。
警告:
- あまりよくテストされていません
- 「..」または「.」を含む可能性のあるパスでの使用は意図されていません。
- ユーザー指定のパスでは使用しないでください
- $SOMEPATH 内にファイルまたはディレクトリが多すぎる場合、アスタリスク付きの rm -rf はおそらく失敗する可能性があります (コマンド ラインの長さが限られているため)。これは、'for' ループまたは 'find' コマンドで修正できます。
bash - bashコマンドラインを使用して、「importpackage.name。*;」を追加する方法 多くのJavaファイルに?
findまたはgrepを使用してファイルを収集し、おそらくsedを使用して変更を加えることを考えていますが、出力をどうするか?それとも、vimで「argdo」を使用する方が良いでしょうか?
注:この質問は、IDEではなく、コマンドラインソリューションを求めています。IDEが落ち着いて、丁寧に、そして穏やかにフラグが立てられることを示唆する回答とコメント。:-)
regex - 開始文字列と終了文字列の間の 1 文字に一致
正規表現がまったく理解できません。START 文字列と END 文字列の間にある文字を一致させるにはどうすればよいですか。例えば
#START-EDIT
#ValueA=0
#ValueB=1
#END-EDIT
#START-EDIT と #END-EDIT の間の任意の # に一致させたい。
具体的には、sed を使用して、複数の START-EDIT セクションと END-EDIT セクションがある場合とない場合があるさまざまなファイルで、 # 一致する値を何も置き換えない (削除する) ことを望んでいます。
shell - sed 単語全体の検索と置換
sed を使用して単語全体を検索して置換するにはどうすればよいですか?
やっている
[oldtext]
また、実行したくない部分一致も置き換えます。
regex - iframe 内のランダムなサイト URL を置き換える sed
私の問題は、iframeに感染したページがたくさんあり、それぞれが異なるURLまたは異なるIDを持っている例です
また
すべての xxx がランダムである場合、私がする必要があるのは削除することです。この iframe をこのように空白に置き換えます
下手な英語でごめんなさい よろしくお願いします