ユーザ用ツール

サイト用ツール


linuxコマンド:sed

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
linuxコマンド:sed [2021/01/13 11:32]
michiya
linuxコマンド:sed [2021/01/15 02:53] (現在)
michiya
行 5: 行 5:
 例えば以下は同じことを意味する. 例えば以下は同じことを意味する.
 <code> <code>
-$ sed -i -e 's/before/after/'+$ sed -i -e 's/before/after/' <file>
 </code> </code>
  
 <code> <code>
-$ sed -i -e 's@before@after@'+$ sed -i -e 's@before@after@' <file> 
 +</code> 
 + 
 +====== 例題 ====== 
 +以下のような内容のtext.txtを用意する. 
 +<code> 
 +before 
 +before before 
 +beforebefore 
 +beforebeforebeforebefore 
 +</code> 
 + 
 +===== 区切り文字を'@' ===== 
 +<code> 
 +$ sed -e 's@before@after@' text.txt 
 +</code> 
 + 
 +<code> 
 +after 
 +after before 
 +afterbefore 
 +afterbeforebeforebefore 
 +</code> 
 + 
 +===== gを追加 ===== 
 + 
 +'g'を指定しない場合は,行中に一致する最初の文字の置換をするが,'g'を指定した場合はその行すべてに適用することを意味する. 
 + 
 +<code> 
 +$ sed -e 's/before/after/g' text.txt 
 +</code> 
 + 
 +<code> 
 +after 
 +after after 
 +afterafter 
 +afterafterafterafter 
 +</code> 
 + 
 +===== 特定の文字を含む行の前に文字を挿入する ===== 
 + 
 +<code> 
 +$ sed -e "$((`sed -n '/before before/=' text.txt` ))i\Inserted" text.txt  
 +</code> 
 +<code> 
 +before 
 +Inserted 
 +before before 
 +beforebefore 
 +beforebeforebeforebefore 
 +</code> 
 + 
 +===== 特定の文字を含む行の後に文字を挿入する ===== 
 + 
 +<code> 
 +$ sed -e "$((`sed -n '/before before/=' text.txt` ))i\Inserted" text.txt  
 +</code> 
 +<code> 
 +before 
 +before before 
 +Inserted 
 +beforebefore 
 +beforebeforebeforebefore 
 +</code> 
 + 
 +===== 文頭に文字を追加 ===== 
 + 
 +<code> 
 +$ sed -e "s/^/inserted/" text.txt 
 +</code> 
 + 
 +<code> 
 +insertedbefore 
 +insertedbefore before 
 +insertedbeforebefore 
 +insertedbeforebeforebeforebefore 
 +</code> 
 + 
 +特定の文字を含む行の場合, 
 +<code> 
 +$ sed -e'/before before/s/^/insert/g' text.txt  
 +</code> 
 + 
 +<code> 
 +before 
 +insertbefore before 
 +beforebefore 
 +beforebeforebeforebefore 
 +</code> 
 +===== 文末に文字を追加 ===== 
 + 
 +<code> 
 +$ sed -e "s/\$/text/" text.txt 
 +</code> 
 + 
 +<code> 
 +beforetext 
 +before beforetext 
 +beforebeforetext 
 +beforebeforebeforebeforetext 
 +</code> 
 + 
 +特定の文字を含む行の場合, 
 +<code> 
 +$ sed -e'/before before/s/$/insert/g' text.txt  
 +</code> 
 + 
 +<code> 
 +before 
 +before beforeinsert 
 +beforebefore 
 +beforebeforebeforebefore
 </code> </code>
linuxコマンド/sed.1610537569.txt.gz · 最終更新: 2021/01/13 11:32 by michiya