SEDイル操作

-n 'P' / etc / passwdファイルをsedの

複数のコマンドを実行する:
sedの[オプション] {-f-のコマンドセッド-FILE-A-入力ファイル} {}
$ test_script.sed CAT
/ ^ルート/ P
/ ^誰/ P
セッド-n -f test_script.sed / etc / passwdファイル

SED -e 'Command1を' -e 'コマンド2' -e 'COMMAND3'
sedの-n -e / ^ルート/ P -e / ^誰も/ P / etc / passwdファイル

打印:
-n '2 P' sedのemployee.txt
のsed -n '1,4 P' employee.txt
のsed -n '2、$ P' employee.txt
のsed -n 1 employee.txt '1〜2のp' 〜 2匹配1,3,5,7、......〜2匹配2,4,6,8 2、......
のsed -n '/ジェーン/ P' employee.txt
のsed -n '/ラジ/、$ P'の従業員.txtの
sedの-n '/ラジ/、/ジェーン/ P' employee.txt
のsed -n '/ジェーン/、+ 2 P' employee.txt

删除:
SED '2 D' employee.txt
のsed '/ ^ $ / D' employee.txt
のsed '/ ^#/' employee.txt

写入:
employee.txt 'output.txtとW'のsed
sedの-nは'w output.txtと' employee.txt
のsed -n '2 output.txtとW' employee.txt

替换:
SEDさん/マネージャー/ディレクター/ 'employee.txt
セッド'/販売/ S /マネージャー/ディレクター/' employee.txt
sedの'S / A / A /' employee.txt
sedの「S / A / A / G 「employee.txt
SED 'S / A / A / 2' employee.txt
SED -N 'S /ジョン/ジョニー/ P' employee.txt
SED -N 'S /ジョン/ジョニー/ W output.txtと' employee.txt
SEDさん/ジョン/ジョニー/ I 'employee.txt

猫files.txt
/ etc / passwdファイル
/ etc / groupの

SEDさん/ ^ / LS -l / 'files.txt
のls -l / etc / passwdファイル
のls -l / etc / groupを

sedの'S / ^ / LS -l / E' files.txt
-rw-R-r--の1つのルートルート1533年12月13日20時21分/ etc / passwdファイル
-rw-R-r--の1つのルートルート682 12月13日夜08時21 / etc / groupを

sedの-nさん/マネージャー/ディレクター/ igpw output.txtと「employee.txt

定界符:
sedのの|は/ usr / local / binに|は/ usr /ビン| ' path.txt
SEDの^は/ usr / local /ビン^は/ usr / binに^ 'path.txt
SEDさん@は/ usr / local /ビン@は/ usr / binに@' path.txt
SEDさん!は/ usr / local / binに!は/ usr / binに!」path.txt

そして、参照パケット
セッド'S / [0-9] [0-9] / [&] /' employee.txt
セッド'S /^.*/<&>/' employee.txt
セッド「S / \(。* \)。* / \ 1 / 「employee.txt

echo "The Geek Stuff"|sed -n 's/\(\b[A-Z]\)/(\1)/pg' 
(T)he (G)eek (S)tuff 

\ 1 \ 9が表すそれぞれ、9つのパケットを処理できセッド

GNU sedの独自の交換フラグ
\ Lフラグ
セッド-N 'S /ジョン/ JO \ lHNNY / P' employee.txt
101、JOHNNYドウ、CEO
\ Lフラグ
SED -N 'S /ジョン/ JO \ LHNNY / P' employee.txt
101、JOHNNYドウ、CEO
\ Uフラグ
\ Uフラグ
\ Eフラグ
セッド-N 'S /ジョン/ \ UJohnny \ボーイE / P' employee.txt
101、JOHNNYボーイドウ、CEO

sedの正規表現
^各ラインの先頭に一致する
ラインマッチングの$の終了
メタ文字ポイントは改行以外の任意の一文字にマッチ
アスタリスクよりその前の文字の一致がゼロか
\ +一致した1回以上、その前に文字
?\その前にゼロまたは1つの文字にマッチ
(例:正の正規表現で特殊文字を検索したい場合は
。、)、それは彼らの脱出を\使用する必要がある
文字セットを[0-9]
パイプ記号|一致させるために使用部分式の両側の任意
{M}の後ろに維持する正規表現は、m番目の正規の完全一致を示す
SED -N「/ [0-9] \ {5 \} / P」numbers.txt
Mに整合をn回({ M、N}):正規表現は} M {後ろに保つ、nは少なくとも正規メートル、最大N倍完全一致を示しています。mおよびnは負でないができ、少ない255より
後ろに維持する正規表現{Mを}少なくとも正規M完全に一致することを示している
sedの-n「/ [0-9] \ {3,5 \} / P」番号.txtの
文字境界\ B
sedの-n '/ \ ATHE \ B / P' words.txt
トラックバック\ N-
sedの-n '/()\。1 / P' words.txt

sedのコメントは#で始まります

レビュー:
セッド-i 'S /ジョン/ジョニー/' employee.txt
変更やバックアップ:
セッド-ibk 'S /ジョン/ジョニー/' employee.txt

挿入:
指定された位置の後に新しい行を挿入することができるコマンド
のsed「2 203を、ジャック・ジョンソン 、エンジニア」employee.txt
複数列の間ラップするN \ながら添加は
「/ジェイソン/ 203、sedのジャック・ジョンソン、エンジニアを\ N204、マーク・スミス氏は、セールスエンジニア「 employee.txtの
指定した行の位置が前のコマンドは、私が挿入
2はI 203、ジャック・ジョンソンは、sedの」 、エンジニア「employee.txt
コマンドラインcは新しい行で古いを置き換えることが
セッド」2 C 202、ジャック、ジョンソン、 'employee.txtエンジニア
2S /.*/ 202、ジャック、sedのと同等の'ジョンソン、エンジニア/「employee.txt

目に見えない文字を印刷
CATのtabfile.txtの
fnameがファーストネームが
名最終LNAME
MNAME名ミドルを

sedの-n 'l'のtabfile.txt
fnameは\ tFirst名の$
LNAME \ Tlastを名前$
MNAME \ tMiddle名$

印刷ライン数(コマンド=)
セッド'=' employee.txt
。1
101、ジョニー・ドウ、CEO
2
102、ジェイソン・スミス、ITマネージャ
。3
103、ラジ・レディ、がSysadmin

employee.txtセッド'/ラジ/ ='
101、ジョニー・ドウ、最高経営責任者(CEO)
102、ジェイソン・スミス、ITマネージャー
。3
103、ラジ・レディは、がSysadmin
複数のファイルには、
'/ルート/ P' -nのsedの/ etc /の/ etc / B

宇宙プリントモード(コマンドのn)
sedのn型employee.txt

公開された43元の記事 ウォンの賞賛0 ビュー3044

おすすめ

転載: blog.csdn.net/oTobias/article/details/103525933