1、SHELLステートメントプログラミングわかるsed実際のケース
1)SHELLプログラミング4剣士がわかるsedツールをビス、Linuxシステムは主に、エディットテキストファイルに使用されています
構文|また、非対話型モードエディタとして知られている(vimの対話モードエディタのvi)、わかるsedツール、印刷、
フォーマット:
SED -option(パラメータ) 'コマンド'(コマンド)ファイル(ファイルオブジェクト)
オプションパラメータ:-i(変性)、 - N(サイレントモード)、 - E(拡張)、 - L、-b、-c。
コマンドコマンド:P(プリント)、D(削除)、N(多重線)、G、D。
2)SHELLは、ツールケース、ファイルLIST.TXTわかるsedツールベースのユーザを操作する4剣士セッドプログラミング
名前は次のようにコマンドは、ルートjfeduに変更されました:
SED S / jfedu /ルート/ gでlist.txtに SED ' S#jfedu#ルート#G ' list.txtに SED -i ' S#jfedu#ルート#G ' list.txtに SED -e ' 3S / 2/100 / G ' -e ' 4S / 3/100 / G ' list.txtに SED ' 3S / 2/100 / G; 4S / 3/100 / G ' list.txtに SED ' 3、$ S / 11の/ 100 / G ' リスト.txt3)替换jfedu.txt文本中古い为新しい: SED ' の/古い/新しい/ gの' jfedu.txt
4)印刷は、テキストの3行目はjfedu.txt。
sedの -n ' 1,3p ' jfedu.txt
5)最初の行と最後の行のjfedu.txtテキストを印刷:
sedの -n ' ; $ P 1P ' jfedu.txt
6)、1〜3行目の最後の行に合わせて削除行をjfedu.txt削除します。
sedの ' 1,3d ' J fedu.txt SED ' / jfedu /、$ D ' jfedu.txt
7)[削除jfedu.txt最後の6行と最後の行を削除します。
用 I で ` 配列 1 6 '。ん sedの - I ' $ D ' jfedu.txt。行わ sedは ' $ D ' jfedu.txt
8)最後の行のjfedu.txtを削除します。
sedは ' $ D ' jfedu.txt
9)jfedu.txt行でjfeduを見つけて、その次に、次の行で表現を単語文字を追加します
行は、文字列を追加します。
SED ' / jfedu / awordの' jfedutxt
10)jfedu.txtにjfedu行を検索し、ライン上の単語の文字を追加し、私はその上で言いました
行の文字列を追加します。
SED ' / jfedu /ノール' jfedu.txt
11)Wordを添加するテスト文字列の最後まで行のjfedu.txt端を検索は、$は&に、エンド識別を示します
SEDが追加言いました:
sedの ' S /テスト$ /&単語/ gの' jfedu.txt
12)はjfedu.txtラインにWWW検索、最初の文字列の単語を追加し、その中の行、^、起動アイデンティティを表し、
&でSEDが追加言いました:
SED ' / WWW /秒/ ^ /&単語/ ' jfedu.txt
13)コマンドの複数の組み合わせは、-eパラメータを使用してsedの:
SED -e ' /www.jd.com/s/^/&1./ ' -e ' S / www.jd.com $ /&。/ gの' jfedu.txt
14)sedコマンドは、複数のセミコロンの組み合わせ「;」セグメンテーション:
SED -e ' /www.jd.com/s/^/&1./;s/www.jd.com$/&./g ' jfedu.txt
15)SED読み取りシステム変数、変数の置換:
ウェブサイト= WWW.JFEDU.NET
sedの「S /www.jd.com/$WEBSITE/g」jfedu.txt
その後、無効にすると、検索/ SELINUX /ライン用16)修正SELinuxの執行方針、ライン
値の変更が無効になって強制、SはSELinuxを含まない行を表し!:
SED -i ' / SELINUX / S /施行/無効/ G 'は/ etc / selinuxに/ 設定 のsed -i ' / SELINUX /!S /強制/無効/ G 'は/ etc / selinuxを/ configに
17)を合わせ、上下の行は、すなわち二行を合わせました。
sedの ' N、S / \ N / / ' jfedu.txt
18)印刷文書list.txtにコマンドの行番号は、以下:
以下のための私で ` seqの 1 $(猫 list.txtに| トイレ -l)`; ん sedの -n " $ {I} S / ^ /&$ I)/ P " list.txtに。行わ SED = list.txtに| sedの ' N; S / \ N / A)/ G '
2、Grepの実際のケースをプログラミングシェルステートメント
1)パスのLinuxオペレーティング・システム・ファイルやディレクトリ検索、クエリツールを見つけ、とgrepは、Linuxです
テキストファイルコンテンツ検索システムやマッチングツールの下では、grepは、グローバル正規表現検索ツールと呼ばれます
これは、広く企業に採用されています。
2)をGrepツールの構文:grepを-option(パラメータ)という言葉 '(画像)ファイル
(テキストファイル)。
オプションパラメータ:-a(テキスト)、 - C(統計)、 - I(ケースを無視する)、 - N(行番号)、
-v(非選択)、 - O(のみ一致)、 - W(句)、 - A(試合後)、 - B(のマッチングは
)の前に、 - C()の前と試合後; 3)会社のGrepの本当の場合、そこetc / passwdファイルかどうか/ wwwユーザ情報を検索
コマンドは次の通り:
grepのルートの/ etc / passwdの grepの " ルート"の/ etc / passwdの はgrep - ワット " ^ルート"の/ etc / passwdの はgrep -i " ルート"の/ etc / passwdの
両社の4)Grepの本当の場合は、ifconfigコマンドは、行のみの情報のIPアドレスを確認するために、カード情報を見ます
コマンドは次の通り:
ifconfigコマンド | grepのネットマスク ifconfigコマンド | グレップ - ワットINET ifconfigコマンド | グレップ - ワット 255 ifconfigコマンド | grepの -E " 172 | 127 " ifconfigコマンド | grep -E " ([0-9] {1,3} \。){3} [0-9] {1,3} "
#はそれぞれ、3つのファイルを作成し、ファイルを別のコードに書き込まれます。
以下のための私で ` seqの 1 3 `; やる タッチ JFの$ i.txtを。エコー jfedu JF $ i>のJF $ i.txt。エコー 猫 JF $ i.txt。猫 JF $ i.txt。エコー ----------; 行われ
5)ワイルドカードタイプの詳細:*
ゼロ以上の文字、数字; ? マッチ任意の1つの文字、 #は コメントを表し; | パイプ記号; ; 複数のコマンドを連続して行う; & バックグランド動作命令; ! 論理演算以外; [] コンテンツの範囲、コンテンツマッチングブラケット。 {} コマンドブロック、マッチング複数のコマンド。
6)正規表現を詳細:
* 前の文字が0回以上一致します; 。 改行以外の任意の文字にマッチ; 。 *は 任意の文字を表し; ^は 文字で始まる行の先頭にマッチし; $は、 行の末尾にマッチし、その文字で終わります; \(.. \) タグマッチング文字; []は 、括弧文字に与えられたいずれかに一致するが、唯一の1文字に一致; [ ^ ] かっこ内の文字以外にマッチします。 \ エスケープ、特別な意味を取り消します。 \ < アンカー・ワードを開始; \ > 端アンカーワード; {N}は 文字が表示さをn回一致; {N} と一致する文字がより大きいか等しいn回出現; {N、M}は 文字少なくとも現れるをn回一致し、最もm回現れ; \ W 一致するテキスト及び数字、記号は一致しない。 \ Wは 非ワードの反転形状が一致する一つ以上の文字と一致wは\ シンボルを、 \ Bの ワードロックオペレータ; \ S 空白文字にマッチします。 \ dが と同等の数字、一致する[ 0 - 9 ]。
7)一般的なGREPツールビジネスケース行使列:
grepの -c 「テスト」 統計jfedu.txt文字列のテスト; はgrep -i 「TEST 」 のすべての行のjfedu.txt大文字と小文字を区別しない検索TEST; のgrep -n 「テスト」 jfedu.txtプリントラインとテストの行番号; grepの -v " 試験" の試験線を印刷しないjfedu.txt; grepの " 試験[53である] " 行3又は5により、文字とjfedu.txt試験開始; grepの " ^ [^試験] " jfedu.txt表示出力テストラインは、最初の行ではない。 grepの 「AYさ[mmの] 」 jfedu.txt ;マッチラインMまたはMの始まり はgrep "K ... D " jfedu.txt マッチングK、任意の三文字、ライン直ちにD; はgrep " [9] [AZ] D " jfedu.txt すぐ文字行大文字マッチング9D; grepの " T \ {2 \} " ;印刷文字Tの文字2回以上連続した行jfedu.txt はgrep " T \ {4、6 \。} " T 4と連続した行の6回jfedu.txt文字印刷文字; はgrep -n " ^ $ 「 jfedu.txt 行番号を印刷する場所空白行、 grepの -vE 」#| ^ $ 「 jfedu.txt ファイル#と空白行と一致していません。grepを --color -ra - E 」デシベル|設定| SQL 」 * 一致またはデシベルまたは設定備える SQLにファイルを、 グレップ -E --color " \ <([0-9] {1,3} \。)。3} {([0-9] {1,3})\> " jfedu.txtマッチング IPv4アドレス。