Linux sedコマンドの詳細

1685 ワード

Sed: stream editor 
正規置換コマンド(search-and-replace)リファレンス:https://en.wikipedia.org/wiki/Sedhttp://www.gnu.org/software/sed/manual/sed.htmlsed's/regexp/replacement/g'inputFileName>outputFileNameオプションとパラメータ:regexp:search pattern、検索する必要がある内容と理解でき、複数の正規表現を使用できます.replacement:wikiでは、いくつかの例を挙げます.
No.1
sed-r「s/(cat|dog)s?/1 s/g」は、eがすべての「cat」または「dog」を「cats」または「dogs」に置き換え、既存の「s」:(cat|dog)が最初の(1 st and only)regexpに保存されたサブ式であることを示し、ここで、このサブ式(cat|dog)フォーマットは式(1 s)に置き換えられる.
No.2
sed'/^*$/d'inputFileNameシンボルcaret(^)は行の開始を表し、シンボル($)は行の終了を表し、アスタリスク(*)は前の文字(ここではスペース)の1回または複数の出現を表す.この文の意味は、/dコマンドを使用して空白またはスペースのみの行を削除することです.
No.3 $ echo xyz xyz | sed 's/x/y/g' ( xyz xyz, sed x y)
yyz yyz


-n: (silent) 。 sed , STDIN 。 -n , sed ( ) ;
-e:expression, , sed ;
-f: sed ,-f filename filename sed ;
-r:sed ;
-i:in place editing , ;

機能性指令:a:appendが追加され、aの後ろに文字列が接続できますが、これらの文字列は新しい行(現在の次の行)~d:deleteで削除されます.削除なので、dの後ろには通常ドンドンは接続されません.i:insert挿入、iの後ろに文字列を接続できますが、これらの文字列は新しい行(現在の前の行)に現れます.p:print列印刷、または選択したデータを印刷します.通常pはパラメータsed-nとともに~s:substituteに取って代わって実行されます!通常このsの動作は正規表現に合わせることができます!例えば1,20 s/old/new/gです!
後のパラメータ:g:global sed-iは、テキストファイルを直接操作するsed-i's/原文字列/新文字列/'/home/1である.txt sed-i's/原文字列/新文字列/g'/home/1.txtこの2つのコマンドの違いは例を見てみましょう
これは1です.txtの内容#cat 1.txt d ddd #ff
この2つの命令を実行する違いを見てみましょう
sed -i 's/d/1234/'/home/1.txt実行結果1234 1234 dd#fff
sed -i 's/d/7523/g' 1.txt実行結果1234 12341234234#fff