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

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


4
sedで行末を検出する方法
を使用して、最後の文字が改行である場合にのみ置換を実行する方法を探していますsed。 例えば: lettersAtEndOfLine 置き換えられますが、これは次のようにはなりません lettersWithCharacterAfter& sedは改行ではうまく機能しないため、次のように単純ではありません。 $ sed -E "s/[a-zA-Z]*\n/replace/" file.txt どうすればこれを達成できますか?


5
2つのファイルを区切り文字のトリプルパイプ記号「|||」で1行ずつマージします
2つの言語で同じ行数を持つ2つの並列ファイルがあり、これら2つのファイルを区切り文字で1行ずつマージする予定|||です。たとえば、2つのファイルは次のとおりです。 ファイルA: 1Mo 1,1 I love you. 1Mo 1,2 I like you. Hi 1,3 I am hungry. Hi 1,4 I am foolish. ファイルB: 1Mo 1,1 Ich liebe dich. 1Mo 1,2 Ich mag dich. Hi 1,3 Ich habe Durst. Hi 1,4 Ich bin neu. 予想される出力は次のとおりです。 1Mo 1,1 I love you. ||| …

3
シェルコマンドを使用してファイルから列または複数の列を削除するにはどうすればよいですか?
私のファイル、 ARCHIVE B1_NAME B2_NAME B3_NAME ELEMENT INFO_NAM WERT PROCID -------- -------- -------- -------- -------- -------- ---- ------ 15MinAvg AIRSS 33-GIS DMDMGIS1 I MvAvr15m 1123 CP 15MinAvg AIRSS 33-GIS DMDMGIS1 P MvAvr15m 2344 CP 15MinAvg AIRSS 33-GIS DMDMGIS1 Q MvAvr15m 4545 CP 15MinAvg AIRSS 33-GIS DMDMGIS2 I MvAvr15m 6576 CP 15MinAvg …

5
行の順序を維持しながら重複行を削除する
[root@server]# awk '!seen[$0]++' out.txt > cleaned awk: (FILENAME=out.txt FNR=8547098) fatal error: internal error Aborted [root@server]# 「サーバー」には、8ギガバイトのRAM + 16ギガバイトのスワップ、x> 300ギガバイトの空き領域、amd64、デスクトップCPUがあります。Scientific Linux 6.6。LOADを作成するために他に何も実行されません。数秒後にawkは異常終了します。out.txtは約1.6ギガバイトです。GNU Awk 3.1.7。 質問:行の順序を維持しながら重複行を削除するにはどうすればよいですか?大文字と小文字の区別も重要です。例:「A」と「a」は2つの異なる行で、保持する必要があります。ただし、「a」と「a」は重複しています。最初の1つだけが必要です。 答えは何でも構いません.. awkがこれに向いていない場合.. perl / sed ..問題は何でしょうか [root@server]# ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file …

3
sedマッチパターンN回
ファイルをそれぞれ2ワードのチャンクに分割します。 $cat tmp word1 word2 word3 word4 word5 word6 word7 $sed -e 's/word. word. /&\n/g' tmp word1 word2 word3 word4 word5 word6 word7 $sed -e 's/word. \{2\}/&\n/g' tmp word1 word2 word3 word4 word5 word6 word7 私は最後のコマンドがその前のものと同じ結果を与えると予想しました。なにが問題ですか?

4
長いsed式を複数の行に分割する方法は?
sed 's/[long1][long2]/[long3][long4]/' file.txt このコマンドを複数の行に分割したい-fxのようなもの: sed 's/ [long1] [long2] / [long3] [long4] /' file.txt \文字列の使用または分離は機能しませんでした。
14 sed 

5
sedによるパターンマッチングパターンの置換
ソースコードがいくつかのファイルに広がっています。 それはabcdef私が置き換える必要があるパターンを持っていpqrstuvxyzます。 パターンはAbcdef(センテンスケース)である可能性があり、それからに置き換える必要がありますPqrstuvxyz。 パターンはAbCdEf(トグルケース)である可能性があるため、で置き換える必要がありますPqRsTuVxYz。 つまり、ソースパターンの大文字と小文字を一致させ、適切な宛先パターンを適用する必要があります。 sedまたは他のツールを使用してこれを達成するにはどうすればよいですか?

6
2つの括弧の間の文字列を出力します
私はこれらの行を持つファイルを持っています G8 = P(G1,G3) G9 = P(G3,G4) G12 = P(G2,G9) G15 = P(G9,G5) G16 = P(G8,G12) G17 = P(G12,G15) 出力が必要です G1,G3 G3,G4 ..... sed / grepコマンドまたはperlを使用してどうすればよいですか?
14 sed  grep  perl 

5
sedは4つのスペースを2に変換します
どのようにして4つのスペースを2つのスペースに変換しsedますか?出来ますか? 私はこれを見つけましたが、タブをスペースに変換します: sed -r ':f; s|^(\t*)\s{4}|\1\t|g; t f' file
14 sed 

3
\ nや\ tなどのエスケープシーケンスを解釈するようにBSD sedに指示するにはどうすればよいですか?
sedGNUと同様にBSDと互換性を持ちたいsedの代替コマンドがありますsed。この場合、拡張正規表現は必要ないため、拡張正規表現は問題になりません。私の主な問題は、2つsedのsが置換文字列の文字エスケープシーケンスを解釈する方法の違いです。私の置換文字列にはタブと改行が含まれており、メンテナンスを容易にするためにコマンド文字列に表示したいのですが、BSD sedはエスケープシーケンスを解釈せず、GNU sed はそうします。sedBSDでこれらのエスケープシーケンスを解釈するように指示する適切な方法は何ですか?次の2つのスニペットは、私の問題を要約しています。 GNU sed echo ABC | sed 's/B/\n\tB\n' eil A B C BSD sed echo ABC | sed 's/B\n\tB\n' 利回り AntBnC 明らかに、\nそして\tBSDによってエスケープシーケンスとして解釈されていませんsed さて、私の質問に。BSD sedマンページによると: 置換文字列に改行文字を指定するには、その前にバックスラッシュを付けます。 これは、リテラルの改行の前にバックスラッシュを付ける必要があることを意味していますか?置換テキストのsedよう\nにエスケープシーケンスを解釈するよう指示する適切な方法は何ですか?
14 sed  bsd 

4
sed:文字列の最初の出現を除くすべての出現を削除します
タイムスタンプ付きのログファイルがあります。1行に複数のタイムスタンプがある場合があります。次に、行からすべてのタイムスタンプを削除しますが、最初のタイムスタンプを保持します。 私はできますs/pattern//2が、それは2番目の出現を削除するだけで、のsedようなものは許可しませんs/pattern//2-。 助言がありますか?
14 sed 

3
「tr」のように「sed」を使用して文字を翻訳できますか?
文字のセットを、次のような別のセットの対応する文字に置き換えたいと思います。 original set: ots "target" set: u.x foobartest → fuubar.ex. このような翻訳/音訳は、trコマンドの専門です: $ echo 'foobartest' | tr 'ots' 'u.x' fuubar.ex. 残念ながら、trファイルのインプレース変更はサポートしていませんsed。 使用したいsedので、一時ファイルをジャグリングするホイールを再発明する必要はありません。
14 sed  tr 

3
sedの1回の呼び出しで複数の編集を行う
sedを使用して構成ファイルを編集しようとしています。変更したい行がいくつかあります。Linux sed -iでは、インプレース編集が可能ですが、バックアップファイルに保存する必要があります。ただし、複数のバックアップファイルを持つことを避け、すべてのインプレース変更を一度に行いたいと思います。 それを行う方法sed -iはありますか、またはより良い代替手段がありますか?
14 sed 

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