首頁  >  文章  >  運維  >  linux中sed指令怎麼實現替換

linux中sed指令怎麼實現替換

WBOY
WBOY原創
2022-02-25 16:24:2415401瀏覽

方法:1、設定參數“c”,c的後面可以接字符串,這些字符串可以替換指定的行,語法為“ sed '行數c 替換後內容'”;2、設置參數“s”,可以直接進行替換工作,語法為“sed 's/要被取代的字符串/新的字符串/g'”。

linux中sed指令怎麼實現替換

本教學操作環境:linux7.3系統、Dell G3電腦。

linux中sed指令怎麼實作替換

Linux sed 指令是利用腳本來處理文字檔。

sed 可依照腳本的指令處理、編輯文字檔。

Sed 主要用來自動編輯一個或多個檔案、簡化對檔案的重複操作、編寫轉換程式等。

語法

sed [-hnV][-e<script>][-f<script文件>][文本文件]

參數說明:

  • -e3f1c4e4b6b16bbbd69b2ee476dc4f83a或--expression=3f1c4e4b6b16bbbd69b2ee476dc4f83a 以選項中指定的script來處理輸入的文字檔。

  • -f944cf76c09264c86a8da86e0e37458cf或--file=944cf76c09264c86a8da86e0e37458cf 以選項中指定的script檔來處理輸入的文字檔。

  • -h或--help 顯示幫助。

  • -n或--quiet或--silent 僅顯示script處理後的結果。

  • -V或--version 顯示版本資訊。

動作說明:

  • a :新增, a 的後面可以接字串,而這些字串會在新的一行出現(目前的下一行)~

  • c :取代, c 的後面可以接字符串,這些字串可以取代n1,n2 之間的行!

  • d :刪除,因為是刪除啊,所以d 後面通常不接任何東東;

  • i :插入, i 的後面可以接字串,而這些字串會在新的一行出現(目前的上一行);

  • p :列印,也即將某個選擇的資料印出。通常 p 會與參數 sed -n 一起運行~

  • s :取代,可以直接進行取代的工作哩!通常這個 s 的動作可以搭配正規表示法!例如 1,20s/old/new/g 就是啦!

範例如下:

將第2-5行的內容取代成為『No 2-5 number』呢?

[root@www ~]# nl /etc/passwd | sed &#39;2,5c No 2-5 number&#39;
1 root:x:0:0:root:/root:/bin/bash
No 2-5 number
6 sync:x:5:0:sync:/sbin:/bin/sync
.....(后面省略).....

除了整行的處理模式之外, sed 還可以用行為單位進行部分資料的搜尋並取代。基本上 sed 的搜尋與替代的與 vi 相當的類似!他有點像這樣:

sed &#39;s/要被取代的字串/新的字串/g&#39;

先觀察原始訊息,利用 /sbin/ifconfig 查詢 IP

[root@www ~]# /sbin/ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:90:CC:A6:34:84
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::290:ccff:fea6:3484/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
.....(以下省略).....

本機的ip是192.168.1.100。

將IP 前面的部分刪除

[root@www ~]# /sbin/ifconfig eth0 | grep &#39;inet addr&#39; | sed &#39;s/^.*addr://g&#39;
192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0

接下來則是刪除後續的部分,亦即:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0

# #將IP 後面的部分予以刪除

[root@www ~]# /sbin/ifconfig eth0 | grep &#39;inet addr&#39; | sed &#39;s/^.*addr://g&#39; | sed &#39;s/Bcast.*$//g&#39;
192.168.1.100

相關推薦:《Linux影片教學

#

以上是linux中sed指令怎麼實現替換的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn