shell編程——sed用法之參數詳解

sed格式:

sed 參數 '正則表達式' 文件名

sed的常見參數有以下幾種:

1、-n, --quiet, --silent
取消自動打印模式

不加n默認打印整個文件:
[root@localhost ~]# sed '' test.sh
#!/bin/bash
第一行 12345!
第二行 23456@
第三行 34567#
第四行 45678$
第五行 56789%

加-n取消打印:
[root@localhost ~]# sed -n '' test.sh 
2、-e 腳本, --expression=腳本
添加“腳本”到程序的運行列表,即可以使用多個正則表達式進行匹配

下面列子使用了兩個匹配條件,'/23456@/p'把匹配的行找出來,'/23456@/='把該行的行號取出,然後一起打印出來:
[root@localhost ~]# sed -n -e '/23456@/p' -e '/23456@/=' test.sh 
第二行 23456@
3
3-f 腳本文件, --file=腳本文件
添加“腳本文件”到程序的運行列表
4、-i[SUFFIX], --in-place[=SUFFIX]
對文件進行修改

把文件裏的“第二行 23456@”替換成“65432”
[root@localhost ~]# more test.sh 
#!/bin/bash
第一行 12345!
第二行 23456@
第三行 34567#
第四行 45678$
第五行 56789%
[root@localhost ~]# sed -i 's/第二行 23456@/65432/g' test.sh 
[root@localhost ~]# more test.sh 
#!/bin/bash
第一行 1234565432
第三行 34567#
第四行 45678$
第五行 56789%
5、-c, --copy
6、-l N, --line-length=N
指定“l”命令的換行期望長度
7、--posix
關閉所有 GNU 擴展
8-r, --regexp-extended
在腳本中使用擴展正則表達式
9-s, --separate
將輸入文件視爲各個獨立的文件而不是一個長的連續輸入
10、-u, --unbuffered
從輸入文件讀取最少的數據,更頻繁的刷新輸出
11、--help
打印幫助並退出
12、--version
輸出版本信息並退出
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章