Linuxの - 軽量ストリームエディタsedコマンド

軽量ストリームエディタsedコマンド

SEDは、ほぼ軽量ストリームエディタ(Linuxを含む)すべてのUNIXプラットフォームが含まれています。sedコマンドは、主に他の操作を追加、置換、削除、データの選択に使用されます。コマンド構文:sedの[オプション]「[アクション]」ファイル名コマンドオプション
-n:一般的には、すべてのデータは、コマンドをsedのだろうが、画面に出力されます。このオプションを追加した場合、唯一の画面ボードにsedコマンド処理ライン出力に通します。
-e:複数のアプリケーションが編集への入力データをsedコマンドことができます。
-i:sedの変更されたファイルデータの結果で変性は、スクリーンからの出力によって直接なく読み出されます。そのファイルの内容を変更することができsedは。コマンドアクション
A \:追加の行の後に。現在の行の後、一の以上の行を追加します。最後の行、各行の必要性の終わりには、「\」を使用することを除いて、複数の行を追加し、データが終わりではありません表します。[ '4A choudoufu' score.txtわかるsed] 
C:\行置換。、各行必要の端は「\」を使用する最後を除いて、複数の行を交換、列cの後ろに行に元のデータを交換するデータが終わりではない表します。[セッド'いいえ2cのような人!' Score.txt ] 
I \:前方に挿入。現在の行の前に1行以上を挿入します。複数の行を挿入し、最後の行を除いて、各行の終わりには、「\」は、データが終わりではありません表して使用する必要があります。[セッド'6iのグレート' score.txt] 
D:削除。指定された行を削除します。[sedの'3D' score.txt] 
P:プリント。指定された行の出力。







S:文字の置換。さらなる置換(交換フォーマットと編集操作類似VIM)文字列を「ライン幅S /古い文字列/新しい列/ G」の形式の文字列[SED「S / wangwu / wangshouzhi / G」スコア.txtファイル] コマンドオブジェクト 
ライン操作のために。NP n番目のラインの印刷。[セッド'2P' score.txt]

例:
[root@192 cut]# cat score.txt
Id	Name	Gender	Score
1	zhangsan	M	90
2	lisi	M	88
3	wangwu	M	98
4	zhaoliu	N	97
5	NangongYi	M	100
例:データ・ライン2を印刷
[root@192 cut]# sed '2p' score.txt
Id	Name	Gender	Score
1	zhangsan	M	90
1	zhangsan	M	90
2	lisi	M	88
3	wangwu	M	98
4	zhaoliu	N	97
5	NangongYi	M	100
しかし、私たちは二行目、他の業界アウトに加えて、明らかにこれは私が欲しい効果ではない、ことがわかりました。
例:2行目のデータのみを印刷します
[root@192 cut]# sed -n '2p' score.txt
1	zhangsan	M	90
[root@192 cut]#
例:sedのオペランドのパイプライン
不加-n
[root@192 cut]# df -h | sed '2p'

文件系统	      容量  已用  可用 已用%% 挂载点
/dev/sda3              17G  2.6G   14G  17% /
/dev/sda3              17G  2.6G   14G  17% /
tmpfs                 499M     0  499M   0% /dev/shm
/dev/sda1             985M   40M  896M   5% /boot
[root@192 cut]#

加-n
[root@192 cut]# df -h | sed -n '2p'
/dev/sda3              17G  2.6G   14G  17% /
[root@192 cut]#
例:ファイルから最初の行を取得し、データライン3を削除しますが、元のファイルを変更しませんscore.txt
[root@192 cut]# sed '1,3d' score.txt
3	wangwu	M	98
4	zhaoliu	N	97
5	NangongYi	M	100
例:ファイルから2番目の行を取得し、データライン4を削除し、元のファイルを変更することなくscore.txt
[root@192 cut]# sed '2,4d' score.txt
Id	Name	Gender	Score
4	zhaoliu	N	97
5	NangongYi	M	100
[root@192 cut]#
例:ライン6 score.txtファイルには、アペンドハローLDR
[root@192 cut]# sed '6a hello LDR' score.txt
Id	Name	Gender	Score
1	zhangsan	M	90
2	lisi	M	88
3	wangwu	M	98
4	zhaoliu	N	97
5	NangongYi	M	100
hello LDR
[root@192 cut]#
例:2列第二のファイルのデータ行の前に挿入score.txt
[root@192 cut]# sed '2i hello \
> wold ' score.txt
Id	Name	Gender	Score
hello
wold
1	zhangsan	M	90
2	lisi	M	88
3	wangwu	M	98
4	zhaoliu	N	97
5	NangongYi	M	100
[root@192 cut]#
注:最初は失うし続けるために、入力するための単一引用符、バックスラッシュを書くことをするとき、これはノック。単一引用符の前と後に、覚えておいてください、その後、あなたが結果は表示されませんので、キャリッジリターンバックスラッシュで一緒に二つの部分を再生します。
例:「リージ」データ「そのような人を」score.txtファイルを置き換えない(C行の交換)
[root@192 cut]# sed '3c No such person!' score.txt
Id	Name	Gender	Score
1	zhangsan	M	90
No such person!
3	wangwu	M	98
4	zhaoliu	N	97
5	NangongYi	M	100
[root@192 cut]#
sedの文字列置換:SEDさん/キャラクター古い/新しい文字列/ G 'ファイル名
例:score.txtファイル「リージは、」「liziqiang」を置き換えます
[root@192 cut]# sed 's/lisi/liziqiang/g' score.txt
Id	Name	Gender	Score
1	zhangsan	M	90
2	liziqiang	M	88
3	wangwu	M	98
4	zhaoliu	N	97
5	NangongYi	M	100
[root@192 cut]#
例:「リージ」score.txtファイルを置き換えるには、「liziqiang」であり、元のファイルを変更します
[root@192 cut]# cat score.txt
Id	Name	Gender	Score
1	zhangsan	M	90
2	lisi	M	88
3	wangwu	M	98
4	zhaoliu	N	97
5	NangongYi	M	100
[root@192 cut]#
[root@192 cut]# sed -i 's/lisi/liziqiang/g' score.txt
[root@192 cut]#
[root@192 cut]# cat score.txt
Id	Name	Gender	Score
1	zhangsan	M	90
2	liziqiang	M	88
3	wangwu	M	98
4	zhaoliu	N	97
5	NangongYi	M	100
[root@192 cut]#
:実際の運用では、この方法を使用することは推奨されません、ファイルの内容を修正します!
例:(マルチコマンド操作)「liziqiang」および「zhaoliu」は「#」に置き換えられつつ
[root@192 cut]# sed -e 's/liziqiang/#/g' 's/zhaoliu/#/g' score.txt
sed:无法读取 s/zhaoliu/#/g:没有那个文件或目录
Id	Name	Gender	Score
1	zhangsan	M	90
2	#	M	88
3	wangwu	M	98
4	zhaoliu	N	97
5	NangongYi	M	100
[root@192 cut]#
書き込みは、右ではありません!マルチコマンドは、単一引用符で記述する必要があります!次のとおりです。
[root@192 cut]# sed -e 's/liziqiang/#/g;s/zhaoliu/#/g' score.txt
Id	Name	Gender	Score
1	zhangsan	M	90
2	#	M	88
3	wangwu	M	98
4	#	N	97
5	NangongYi	M	100
[root@192 cut]#
注:複数のコマンド(単一引用符)を使用する間に「;」分離するために!
公開された59元の記事 ウォンの賞賛2 ビュー5570

おすすめ

転載: blog.csdn.net/LDR1109/article/details/102957959