Linux下sed命令使用
添加時間:2016-1-22 3:04:22
添加:
思海網絡
Linux下sed命令使用
一、Sed簡介
Sed:Stream Editor 流式編輯器 又稱行編輯器,每次只編輯一行。Sed工作是在“模式空間”中進行的,并不操作源文件。對源文件無危害。
二、Sed使用格式
Sed命令的常用格式如下:
(1)Sed [options] ‘’ input_file…
(2)Sed [options] –f _file input_file…
(3)Sed [options] ‘ADDR1,ADDR2command’ input_file…
例如:#sed ’1,2d’ fstab 就可以將fstab的前兩行刪除并顯示出來,但是它不會改變源文件。
#Sed ‘1,2!d’ fstab 表示刪除除第一行和第二行之外的所有行。
(4)Sed [options] ‘/PATTERN/command’ input_file……
&:s/l..e/&er/:表示引用前面匹配到的所有字符。
例如:sed ‘/[[:upper:]]/d’ binary.sh 表示刪除所有的大寫字母的行。
(5)Sed ‘/PATTERN1/,/PATTERN2/command’ input_file……
說明:這表示從第一次被PATTERN1匹配到的行到第一次被PATTERN2匹配到的中間的所有行執行command命令。
三、Sed的常用選項:
-n:只顯示sed匹配到的行。其余行不顯示。下文有范例。
-i :可以直接操作原文件。默認情況下sed不會改變原文件,但是-i選項可以修改原文件,此選項應慎用。
-r:可以使用標準正則表達式。默認情況下sed只支持基本正則表達式,但是加上-r選項后則支持擴展正則表達式
-e:多腳本共用。可以同時執行多個命令。例如:
代碼如下:[root@localhost ~]# sed -e <a>'s@\@H\1@g'</a> -e <a>'s@\(l..e\)\.@\1r.@g'</a> test
He love His lover.
She like Her liker.
Dove love Her liker.
也可以這樣用,中間用分號隔開:
代碼如下:[root@localhost ~]# sed <a>'s@\@H\1@g;s@\(l..e\)\.@\1r.@g'</a> test
四、使用示例
代碼如下:
#sed -e 命令行處理 -a 新增
> sed -e '$ a widuu' test.txt #在test.txt的結尾處添加widuu
代碼如下:
# 把-e換成-n
> sed -n '$ a widuu' test.txt # 只顯示被處理的一行
代碼如下:
# -c 替換多少行 為你制定的字符串,這里我的test.txt內容
> sed -e '2,5c xiaowei' test.txt #把2-5行替換成字符串xiaowei
代碼如下:
# 多命令執行 -e
> sed -e '2,5c xiaowei' -e 's/cccc/widuu/' test.txt
代碼如下:
# -i 不輸出 -s 替換
>sed -i 's/111111/widuu/g' test.txt
代碼如下:
# i 插入 自定義的字符串 在test.txt的第二行插入xiaowei
> sed -e '2i xiaowei' test.txt
關鍵字:Linux、sed、命令
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解