タグ付けされた質問 「sed」

sedは、テキストをフィルタリングおよび変換するためのコマンドラインストリームエディターです。


4
各行の一部を個別のファイルに出力します
このようなファイルがあります: a AGTACTTCCAGGAACGGTGCACTCTCC b ATGGATTTTTGGAGCAGGGAGATGGAATAGGAGCATGCTCCAT c ATATTAAATGGATTTTTGGAGCAGGGAGATGGAATAGGAGCATGCTCCATCCACTCCACAC d ATCAGTTTAATATCTGATACGTCCTCTATCCGAGGACAATATATTAAATGGA e TTTGGCTAAGATCAAGTGTAGTATCTGTTCTTATAAGTTTAATATCTGATATGTCCTCTATCTGA a.seqsequenceを含むファイルを作成したいAGTACTTCCAGGAACGGTGCACTCTCC。同様にb.seqが含まれていますATGGATTTTTGGAGCAGGGAGATGGAATAGGAGCATGCTCCAT。つまり、Column1を拡張子付きの出力ファイル名として使用し.seq、それに対応するcolumn2シーケンスを含める必要があります。perlスクリプトを書くことでこれを行うことができますが、コマンドラインに何かあれば役立ちます。すぐに聞いてほしい。

7
ファイルから複数の空白行を削除する方法は?
メモを作成するために使用するテキストファイルがいくつかあります-単なるプレーンテキストで、通常は単にを使用しcat >> fileます。ときどき、空白行または2行(ちょうど戻る-改行文字)を使用して、新しい主題/思考の行を指定します。各セッションの最後に、Ctrl+ Dでファイルを閉じる前に、通常、セッションを分離するためだけに多く(5〜10)の空白行(リターンキー)を追加します。 これは明らかにあまり賢いものではありませんが、この目的には役立ちます。しかし、私はたくさんの不要な空白行で終わるので、余分な行(のほとんど)を削除する方法を探しています。いくつかのオプションで直接使用できるLinuxコマンド(カット、貼り付け、grep、...?)はありますか?また、誰かがsed、awkまたはperl(私はsedまたはawkが好きですが、実際にはスクリプト言語でも)のスクリプトを考えていますか?C ++で何かを書く(実際に自分でできる)のは、やり過ぎのように思えます。 ケース#1:必要なのは、連続する2行以上(3行以上)の空白行を削除し、それらを2行だけの空白行に置き換えるスクリプト/コマンドです。ただし、複数の行(2行以上)を削除したり、複数の空白行を1つの空白行に置き換えたりできるように調整できると便利です。 ケース#2:2行のテキスト間の単一の空白行を削除するスクリプト/コマンドを使用することもできますが、複数の空白行をそのまま残します(ただし、空白行の1つを削除してもかまいません)。
14 scripting  sed  awk  perl  filter 

7
sedが置換文字列を解釈しないようにする方法はありますか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 sedを使用してキーワードを文字列に置き換える場合、sedは置換文字列を解釈しようとします。置換文字列に「/」文字など、sedが特殊と見なす文字が含まれている場合、当然、置換文字列にsedに動作方法を指示する文字を含めることを意図していない限り、失敗します。 例: VAR="hi/" sed "s/KEYWORD/$VAR/g" somefile 特殊文字の置換文字列を解釈しないようにsedに指示する方法はありますか?内容が何であっても、ファイルのキーワードを変数の内容に置き換えることができるようにしたいだけです。
14 bash  shell-script  sed 


3
ヘッダーまたはフッターをsedまたはawkストリームに追加する方法は?
sedとawkを通過する大量の出力があります。 出力の先頭にSTARTを付け、回答の最後にENDを付けるにはどうすればよいですか? たとえば、私が持っている場合 All this code on all these lines and all these どうすれば入手できます: START All this code on all these lines and all these END ? 私の試みは: awk '{print "START";print;print "END"}' しかし、私は得た ... START All this code END START on all these lines END START and all these END

9
ファイル内のすべての行の5番目の単語を削除するにはどうすればよいですか?
ファイルの各行の5番目の単語を削除したい。 ファイルの現在のコンテンツ: File is not updated or and will be removed System will shut down f within 10 seconds Please save your work 55 or copy to other location Kindly cooperate with us D 期待される出力: File is not updated and will be removed System will shut down within 10 seconds …

4
sedを使用して連続ストリーミング出力を操作する方法は?
私は技術に詳しくない聴衆のためにプレゼンテーションをまとめています。値の連続ストリームを出力するbashで実行しているプログラムがありますが、そのうちのいくつかは重要です。重要な結果が表示されるときに強調表示して、聴衆がその頻度を把握できるようにします。問題はsed、実行中のストリームを操作できないことです。次のように結果をファイルに入れるとうまくいきます: cat output.txt | sed "s/some text/some text bolded/" しかし、次のように実行中の出力で同じことをしようとすると: command | sed "s/some text/some text bolded/" sed何もしません。何かご意見は? ランバートは指摘するのに十分役に立ちましたので、私の言ったことsedは何も曖昧ではありませんでした。何が起こっstdoutているのかstderrは、たとえそれがパイプスルーされたとしても、プログラムが通常どおりに出力することです(書き込みを行っていないことはかなり確信しています)sed。 問題は、コマンドが2番目のプログラムを呼び出し、それが標準出力に出力されることであるようです。最初のプログラムで印刷された数行があります。これらは編集できます。次に、2番目のプログラムによって出力される値のストリームがあります。これらは編集できません。 Perlおよびawkメソッドも機能しません。

2
実行前に再帰的なsed検索と置換をテストします
トライアル再帰検索を実行しsed、実際に実行する前にを使用して置き換える方法はありますか?実際に検索して置換する前に、結果を印刷したいだけです。結果をエコーするようなもの、 grep -rl term1 . |xargs sed -i -e 's/term1/term2/'
13 sed 

2
文字列をsedでスラッシュを含む文字列に置き換える方法は?
sedを使用して、ファイル内の文字列をスラッシュを含む文字列に置き換える方法を探しています。 connect="192.168.100.61/foo" srcText="foo.bar=XPLACEHOLDERX" echo $srcText | sed "s/XPLACEHOLDERX/$connect" 結果は次のとおりです。 sed: -e Expression #1, Character 32: Unknown option for `s'
13 sed 

4
変更されたファイルのバックアップのみを作成するsedインプレース置換を実行する方法は?
現在の作業ディレクトリ内のすべてのファイルで使用されている用語を置き換えるために、次を実行しました。 $ find . -type f -print0 | xargs -0 sed -i'.bup' -e's/Ms. Johnson/Mrs. Melbin/g' これは単語の置換を実行しました.bupが、Ms. Johnson文字列を持たないファイルのファイルも作成しました。 これらすべての不要なバックアップを作成せずに置換を実行するにはどうすればよいですか?

3
2つのパターンの間の(および除外する)行を印刷する
cURLを使用してフォームを送信します。ここで、一部のコンテンツは他のファイルから取得され、 sed param1を使用して他のファイルからのパターンに一致する行の場合sed、以下のコマンドは正常に動作します: curl -d param1="$(sed -n '/matchpattern/p' file.txt)" -d param2=value2 http://example.com/submit 今、問題に行きます。一致するパターン自体を除く、2つの一致するパターン間のテキストのみを表示したい。 file.txt含まれているとしましょう: Bla bla bla firstmatch It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. secondmatch The point of using Lorem Ipsum is …


2
sedを使用して特殊文字を置き換える
これは交換する働きtomをsamファイルに: sed 's/tom/sam/g' file_1 > file_2 しかし、これはそうではありません: sed 's/*****/sam/g' file_1 > file_2 特殊文字*****を単語に置き換えsamます。私はスラッシュで試しました\*が、エラーが発生しました。
13 sed 

8
文字列内の1文字のみを小文字/大文字にawkまたはsedしますか?
いくつかの文字列で1文字のみを大文字/小文字にする方法はありますか? 入力例: syslog_apr_24_30 syslog_mar_01_17 望ましい出力: syslog_Apr_24_30 syslog_Mar_01_17 月の大文字で始まることに注意してください。 私は試しましたawkが、それを機能させるのに十分ではありません。
13 bash  sed  awk 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.