シェル-05
sedコマンド
Linuxテキスト処理三銃士は声明をsedの(行編集 - フローエディタストリームエディタ)
ユニット内のテキストを編集するラインエディタとして、
注:ファイルを編集するsedのが、元のファイルを変更しないでください。
sedの作品:
ではアドレス空間を提供しているsedは、ラインを読んで、モデル空間パターンスペースにLinuxのメモリに表示されます
パターンスペースのテキストファイル、パターンスペース(パターンスペース)を読み取るために、各行の内容を読み取るために、テキストファイル、テキストマッチング(正規表現)を開発し、試合の内容が変更(置き換え、 、削除、印刷、編集、保存)
sedの使い方:
SED [オプション] ... {スクリプトのみ-IF-NO-他のスクリプト} [入力ファイル]
sedの[パラメータ]は...「自身の独立した使用形式の文をsedの」[テキストファイル]
共通オプション:
-r拡張正規表現を指定します
マッチIPアドレス
1. \のすべてではないですか
2. |か
-nは、デフォルトの出力を拒否しました
しかし、-n '1,2p' 99cfb.sh
しばらくの間、-eスクリプトの場合
iの中に{1..9};エコーん「$ i」の睡眠1;が実行
-fスクリプトファイル指定
-L長さ指定されたテキストの折り返し
直接ファイルの内容を変更する-i(使用しません)
sedのコマンドのアドレス区切り方法
- 直接一致する値
しかし-N '5,7p' 99cfb.sh
- dの増分ステップを指定するための数字(番号)〜
〜3 1 / J / @ / P 99cfb.sh -N」セッド
- $ 指定行尾
'10、$ P「ファイル-nセッド
sedの-n '\ FD \、$ pを' ----- FDからの最後の行にマッチするファイル
- 0、addrは--- addrがデジタル/ $ /正規表現することができ
- SED -N '0、/ k個の\ {5、\} / P' ABC
- sedの-n '/ \ \ + /、/ \(\など)(DS、\)\ + / P' ABC
- addrは、+ N
一致にADDRライン、ラインは、Nをでaddr
sedの-n '/ FD /、+ 5P' ABC
- addrは、-N
'1、〜3P' ABC -nセッド
共通コマンド:
-nと組み合わせて使用し、画面上のデフォルトの表示を印刷したpプリントは、お勧めします
C行のsed "/ AAA / C \ A" ファイル名を置き換え
Dラインと一致するように、ファイル名を削除するには、SED「/ AAA / D」を削除
SED「1,3d」ファイル名
N Nリード/パターンマッチングを操作する行の次の行の内容に加算されます
新しいファイルにファイルの内容を保存しますwは
* S *が空間にマッチする最初の置換パターンのデフォルトのテキストの内容を置き換えます
すべてのグラムグローバル/グローバル
構文:中間のS /パターン/文字列/任意のを置き換える---なぜ特殊文字をスラッシュ
\ 1 \ 2 \ 3 ...と正規表現は逆のアプリケーションを達成するために、同じパケットであります
マッチを変更するには、交換を指定
- 第4行交換する第三の場合
第4行第三の場合、保存99xfb.sed.shを置換します
私は、コンテンツ一致する行の行を追加します
sedのファイル名「/ /私はABCのために」
次の行に一致した行の内容を追加します。
SED「/ため/ ABC」のファイル名
グリップ "testbash" / etc / passwdファイル| sedの "S#^テスト。*#&は、#1グラムです"
例えばS ###、@@@ S、S %%%
SED「S / K / K / GW /ルート/ AABBCC」ABC
高度なアプリケーションのセッド
Dホールド省スペースはスペースを占有します
乱数
RANDOM範囲0〜32767
A = $ [$ RANDOM%100 + 1]
演習:
- 猫に/boot/grub/grub.confのsedの/ ^ [[:スペース:]] \ + // G '/boot/grub/grub.confに
- 猫の/ etc / fstabのSEDさん/ ^#[[:スペース:]] \ + //」の/ etc / fstabに
- エコー「は/ var / log /メッセージ| 「sedのさん/ [^ /] \ + $ //」
- | "は/ var / log /メッセージを" エコー SEDの#^ /。* / ## '
-
----ファイルパスDIRNAMEパス部分を削除します
ベース名のファイル部分のファイルパスを削除----
無限ループ
真の間、行います
ループ
完了
ループから抜け出すブレイク
引き続き----このサイクルのうち、
長時間の睡眠の後----どのくらいのサイクルを継続します
まで
そして、それを用いながら、
違い:判定条件が偽の場合にのみ、ループに入ります
演習2:
#!/ binに/ bashのは CAT << EOFの メニュー ============================ " CPU)の表示CPU情報" 「MEM)を表示メモリ情報「」ディスク)ディスク情報が表示さ「」終了)終了するには、「 ============================ EOF ながら、trueに、やる 読み取りを - P-は、「必要なビューを入力してください:」インフォエコーを「」IF [-zの$の情報 ]; その後、エコー「正しいパラメータを入力してください!! 」エコー」例:CPU Memのは、ディスクを終了します」 #出口1 Fiの 場合は [$の情報 = " CPU " ]; その後、 猫の/ proc / cpuinfoをする のelif [$ 情報 = " MEM " ]; その後、 自由 - メートルの elifの [$ 情報 = " ディスク" ]; その後、 FDISK - リットル のelif [$ 情報 = " 終了します" ]; その後、 エコー " 已退出「 出口 0 他 エコー 」の入力情報が間違っている「 エコー 」の有効な引数を入力してください!!「 エコー 」たとえば、次のようにCPU Memのディスク終了」 の終了を2 Fiの DONE
プログレスバー
Vimの.vimrcと
デフォルトパラメータ編集のvimの一部
クラウドデスクトップ
役割:顧客は、クラウド内で動作するようにし、クラウドからPCクライアントを割り当てます。
- セキュリティ
- 便利
[VIM、現在のラインカーソルの代表では「 『:』。、$ S / ^ /#/ -----カーソルから行の現在の行の末尾の先頭には#に置き換えています」]
1〜3、1,4,7,11ステップ----
/パターン1 /、/ PATTERN2 ----線にパターンマッチング、ライン1~2にパターンマッチングから
デジタル、+ N
気流にカーソルからずれ最後の3行に行の先頭に/pattern1/,+N------".,+3s/^#//」