Linuxでのsedの基礎

SEDは、それが完全に臨時使用する正規表現を、合うことができる非常に重要なテキスト処理ツールです、ストリームエディタです。処理が完了した取り扱い、「モデル空間」(パターンスペース)と呼ばれる現在の一時的なバッファに処理されている行を、格納、バッファsedコマンドの内容を処理し、バッファの内容が画面に送られます。次に、ファイルの最後まで繰り返され、次の行、。あなたは、出力を保存するためにリダイレクトを使用しない限り、ファイルの内容は、変更されません。SEDが主に自動的に編集1つ以上の文書に使用され、文書の繰り返し操作を簡素化し、書き込み、変換手順を。

sedのコマンド一般的に使用されるパラメータ

共通コマンド

機能コマンド 説明
1、nは 我々は、ラインを操作するためにN行目の最初の行を必要とします
S 検索を検索と置換、までこのコマンドを使用します
A APPEND追加
インサートを挿入
C 置き換えます
D 行削除
P プリント

二つの最も重要なパラメータがあり
、静かな(サイレント)モードを使用する-nが。一般的な用法でsedは、STDINからのすべてのデータは、一般的に端末に表示されます。しかし、-nパラメータを追加した後ならば、唯一のラインを通じて、特別な治療(またはアクション)のsed表示されます。
-i元のファイルなしで、直接、元のファイルを置き換える-iに変更はなく、メモリや場所の出力されていません。

sedは、一般的に使用されるコマンドを使用します。

cat test.txt
111
222
333
444
555
666
777
打印第三行至第五行
sed -n '3,5p' test.txt
333
444
555
删除第三至第五行
sed  '3,5d' test.txt
111
222
666
777
删除第三至第五行并修改原文件
sed -i '3,5d' test.txt
cat test.txt
111
222
666
777
第二行之前添加qqq
sed '2i qqq' test.txt
111
qqq
222
333
444
555
666
777
第二行之后添加qqq
sed '2a qqq' test.txt
111
222
qqq
333
444
555
666
777
第二行替换为qqq
sed '2c qqq' test.txt
111
qqq
333
444
555
666
777

sedの最も重要なコマンド、検索と置換

「S /検索/置換/ gの」sedのグラムはすべて、唯一のデフォルトの線の交換を置き換えた行を表し、

cat test.txt
111
222
111
444
555
sed "s/1/php/" test.txt
php11
222
php11
444
555
sed "s/1/php/g" test.txt
phpphpphp
222
phpphpphp
444
555

定期的に同様のでは。^各行の先頭を表し、$各行の終わりを示します。定期的な試合は、仕様に従うことです。

每一行开始加//
sed "s/^/\/\//g" test.txt
//111
//222
//111
//444
//555
每一行行尾加;
sed "s/$/;/g" test.txt
111;
222;
111;
444;
555;

単一の文字の状態を元に戻し

替换每一行的第二匹配字符1,替换成+
sed "s/1/+/2" test.txt
1+1
222
1+1
444
555

マッチング複数の置換、分離

把2替换成+,把4替换成-
sed "s/2/+/g;s/4/-/g" test.txt
111
+++
111
---
555

代替的に\ 1 \ 2 \ nは結果を使用して、サブセット括弧、

cat test.txt
1hello1
222
111
444
555
sed "s/1\(.*\)1/wo\1/g" test.txt
wohello
222
wo1
444
555

一般的に交換するために、プロジェクトファイルを使用

把当前项目中所有文件中的111替换成helloworld
sed -i "s/111/helloworld/g" `grep -rl . *`

おすすめ

転載: www.cnblogs.com/feixiangmanon/p/12043757.html