sedコマンドよく使用するコマンド

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%

おすすめ

転載: blog.51cto.com/14143894/2471771