sedは、データを交換することができる、テキスト処理ツールで加え、特定の他の作業を選択
書式
アクションファイル名のsedのオプション
ドメインの置換ファイル使用して、フィールドにsedの
ようなファイルを書くの真ん中などを、YAMLフィールドを修正する必要がいる、使用済みの外にすることができ、コマンドライン置き換えるsedの
形式を:sedのさん/オリジナルキャラクター/新キャラクター/ 'ファイル名
[root@zhaocheng ~]# sed 's/systemctl/service/' filetest
root:$1$dDTFylQ3$.vTZKpm7mrra9WMsxvBfW.:18241:0:99999:7
bin:*:17834:0:99999:7:dad
lp:*:17834:0:99999:7ada
sync:*:17834:0:99999:7:::gg
shutdown:*:17834:0:99999:7::da
halt:*:17834:0:99999:7::fsda
nginx:!!:18289::::::daaf
rabbitmq:!!:18297:::::dada
service start mysqld
dadad:nginx:sdada
上記は、画面への出力だけだろう、との直接交換を追加することができた場合、ファイルを変更しない-i
[root@zhaocheng ~]# sed -i 's/systemctl/service/' filetest
[root@zhaocheng ~]# cat filetest
root:$1$dDTFylQ3$.vTZKpm7mrra9WMsxvBfW.:18241:0:99999:7
bin:*:17834:0:99999:7:dad
lp:*:17834:0:99999:7ada
sync:*:17834:0:99999:7:::gg
shutdown:*:17834:0:99999:7::da
halt:*:17834:0:99999:7::fsda
nginx:!!:18289::::::daaf
rabbitmq:!!:18297:::::dada
service start mysqld
dadad:nginx:sdada
sedコマンドパラメータ意味
常用命令:
a 新增
c 取代
d 删除
i 插入
p 列印
s 取代
行を削除するには
いくつかの行を削除するテキストニーズを扱う場合は、削除されたのに代わって、Dを使用することができます
-iのみ、画面上に表示せずに、削除されませんsedはなし
[root@zhaocheng]# sed '1d' filetest //删除第一行
[root@zhaocheng]# sed '$d' filetest //删除最后一行
[root@zhaocheng]# sed '1,2d' filetest //删除第一行到第二行
[root@zhaocheng]# sed '3,$d' filetest //删除第三行到最后一行
ラインを表示し
、テキストのテキストAラインを抽出する必要が扱うよう
[root@zhaocheng]# sed -n '1p' filetest //显示第一行
[root@zhaocheng]# sed -n '$p' filetest //显示最后一行
[root@zhaocheng]# sed -n '1,2p' filetest //显示第一行到第二行
[root@zhaocheng]# sed -n '3,$p' filetest //显示第三行到最后一行
クエリの使用パターン
など、より大きなテキストを扱うようには、このフィールドを見つけたい、あなたは直接-nパラメータ表示を使用することができ、アクションはキーワードは、p個のプリントを抽出する必要があり、指定
[root@zhaocheng]# sed -n '/bin/p' filetest //查询包括关键字bin所在所有行
[root@zhaocheng]# sed -n '/\$/p' filetest
service start mysqld$
//查询包括关键字$所在所有行,使用反斜线\屏蔽特殊含义,不然识别不出
1つまたは複数の行の文字列の追加
フィールドは、よりVIMセットNUで使用されている場合、テキストフィールドを追加する処理とを、及び指定された行に加え、使用することができ、増加する、(a)は最初の行に増加しようとしている、使用することができます、表示ライン数、又は直接コマンドラインから直接行番号、sedの「行にXXXXXXファイル名を使用してコマンドライン-n猫を使用して
、最初の行の下に新しい行
[root@zhaocheng ~]# sed '1a sed is very useful' filetest
bin:*:17834:0:99999:7:dad
sed is very useful
lp:*:17834:0:99999:7ada
sync:*:17834:0:99999:7:::gg
shutdown:*:17834:0:99999:7::da
halt:*:17834:0:99999:7::fsda
nginx:!!:18289::::::daaf
rabbitmq:!!:18297:::::dada
service start mysqld$
dadad:nginx:sdada%
2行目の増加とsedの第二列3は非常に有用です
[root@zhaocheng ~]# sed '2,3a sed is very useful' filetest
bin:*:17834:0:99999:7:dad
lp:*:17834:0:99999:7ada
sed is very useful
sync:*:17834:0:99999:7:::gg
sed is very useful
OK、ここに私は最初の行のkuberntesを置き換えます置換すること、1cは最初の行は、cが交換されます
[root@zhaocheng ~]# sed '1c kubernetes' filetest
kubernetes
lp:*:17834:0:99999:7ada
sync:*:17834:0:99999:7:::gg
shutdown:*:17834:0:99999:7::da
halt:*:17834:0:99999:7::fsda
nginx:!!:18289::::::daaf
rabbitmq:!!:18297:::::dada
service start mysqld$
dadad:nginx:sdada%
追加され、$が最後の行で、テキストジェンキンスの最後の行を追加します。
[root@zhaocheng ~]# sed -i '$a jenkins' filetest
[root@zhaocheng ~]# cat filetest
hellp
sync:*:17834:0:99999:7:::gg
shutdown:*:17834:0:99999:7::da
halt:*:17834:0:99999:7::fsda
dadad:nginx:sdada%
jenkins
ジェンキンスさんにこのラインをマッチング、ラインマッチングを削除し、削除します
[root@zhaocheng ~]# sed -i '/jenkins/d' filetest
[root@zhaocheng ~]# cat filetest
hellp
sync:*:17834:0:99999:7:::gg
shutdown:*:17834:0:99999:7::da
halt:*:17834:0:99999:7::fsda
dadad:nginx:sdada%
削除/ D#でテキストをマッチングし、#で始まる、ここで^用いて除去
[root@zhaocheng ~]# cat filetest
#hellp
#sync:*:17834:0:99999:7:::gg
#shutdown:*:17834:0:99999:7::da
halt:*:17834:0:99999:7::fsda
dadad:nginx:sdada%
[root@zhaocheng ~]# sed -i '/^#/d' filetest
[root@zhaocheng ~]# cat filetest
halt:*:17834:0:99999:7::fsda
dadad:nginx:sdada%