問題タブ [ed]
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.
find - ヒアドキュメントは xargs でどのように使用できますか?
バックグラウンド
送信する前に、# TODO出力されたいくつかのpythonソースコードファイルからコメントを削除したいと考えています。git archiveさまざまな* nix OSから実行されるスクリプトからそうするつもりなので、可能な限りPOSIXに準拠する必要があります。
基本仕様に含まれていないことは承知していfind -print0ますxargs -0が、それらは十分に一般的であるように思われるため、それらを使用しても問題ありません (より良い代替手段が存在しない限り)。インプレース編集の基本仕様にないedため、使用しています。sed -i以下のコマンドが、既に untar された git アーカイブのディレクトリから実行されていると仮定します。
コメントを削除するための全体的な代替ソリューションに満足し# TODOていますが、好奇心を満足させるために、思いついたコマンドで直面している特定の問題に対する答えも欲しいです。
既存のコード
期待される結果
「.py」で終わるすべてのファイルから、TODO コメントのみを含む行全体、または TODO で始まる行末コメントが削除されます。
実結果
(標準出力)
現在の理論
の代わりに<< 'EOF'ヒアドキュメントが適用されていると思いますが、それを修正する方法がわかりません。xargsed
bash - ed コマンドの引数に 2 つの変数を挿入する方法は?
while ループを bash スクリプトに実行しようとしていますが、引数に変数を挿入しようとしたときに ed (テキスト エディター) で何が起こっているのかわかりません。ご覧のとおり、ループも使用していますが、問題は ed コマンド内の変数の使用にあるようです。
スクリプトコードは次のとおりです(awkおよびsedプログラムは明らかです):
bash - スクリプトを使用して複数のファイルに同じテキストを追加するにはどうすればよいですか?
小さなスクリプトを使用して、同じテキスト (「さようなら」など) をファイルのグループに簡単に追加する方法が必要です。スクリプトを使用してスクリプト内で何かを試しましedたが、うまくいきませんでした。vi
編集:このコメントをより具体的に編集します:
ファイル c0001.gin c0002.gin ... 500 まであります。各ファイルの末尾に次のテキストを追加する必要があります。
それを行うためのスクリプトが必要です。
さらに、ファイルは「CALCS」というフォルダーにあります。各ファイルを、c0001.gin の場合は「001」、ファイル c0002.gin の場合は「002」など、CALCS 内の別のフォルダーに移動したかったのです。
前もって感謝します
awk - sed または awk を使用して、一致する 2 つのパターンの間に行を挿入します
次のように text.txt に行があります
パターン「end:」が一致するたびに、いくつかの行を追加したいと思います (たとえば、hello world としましょう)。ただし、「start:」パターンが再び一致するまで、次のパターン「end:」の発生は無視してください。
必要な出力
xml - Unixでxmlの特定のタグを置き換える
特定の値を置き換えたい (すべての要素ではありません)。ここではすべて同じ Background_color を使用していますが、Background_color を特定のものだけに置き換えたくありません。どのように実装できますか?これは単なるサンプル コードです (Background_color を置き換えてはならないスキン名のリストがファイルに含まれています)。
bash - ed コマンドからコンソール出力を削除するにはどうすればよいですか?
edを使用して、ファイルの特定の行番号にコンテンツを挿入しています。これは、私のedコマンドのコード セクションです。
上記のコードは正常に機能し、指定された行番号でテキストをファイルに出力します。ただし、コードを実行するたびにコンソールに出力が表示されます。例えば:
これらの数字は、ファイル servertest の文字数を表していると思います。コードを実行する前は未編集のファイルに 1456 文字、コードを実行した後は 1534 文字あることがわかりました。これらの数値をコンソールに表示できないようにする方法はありますか? 出力を送信しようとしましたdev/nullが、edは最後の END コマンドの後に文字を許可しません。
vim - vimで非常に長い行の単語間のスペースを削除します
を使用して、単一の長い行で多くの単語間のスペースを削除する方法はvim?
すでに試してみました:
およびこれの例。
動作しません。
私はこのような行を持っています:
最初のソリューションでアドバイスされた正確なコードを使用すると、意図 (Python で非常に長い文字列値を作成するために使用した最初の 4 つのスペース) が削除され、単語間のスペースは削除されません。
Visual Selectionshift+v-一度に行全体を選択するために押すことを意味します。と同じ^v+$。
vs の有無にかかわらず、スペースがないと完全に行に到達できません。
bash - ed 印刷の試合結果を防ぐにはどうすればよいですか?
edファイルを検索するためにbashスクリプトで使用します。コマンドは/コンテンツを表示しますが、これは望ましくありません。リダイレクトしようとしまし>/dev/null 2>&1たが、うまくいきませんでした。
テキストファイルfoo.txt:
バッシュスクリプトbar.sh:
結果:
ed一致した行の印刷を停止するにはどうすればよいbですか?