shell指令碼程式設計之sed

2021-10-23 18:13:35 字數 844 閱讀 5398

sed -選項 `指令/動作`

檔案

-n :使用安靜(silent)模式。在一般 sed 的用法中,所有來自 stdin 的資料一般都會被列出到終端上。但如果加上 -n 引數後,則只有經過sed 特殊處理的那一行(或者動作)才會被列出來。

-f :直接將 sed 的動作寫在乙個檔案內, -f filename 則可以執行 filename 內的 sed 動作;

-r :sed 的動作支援的是延伸型正規表示法的語法。(預設是基礎正規表示法語法)

-i :直接修改讀取的檔案內容,而不是輸出到終端。

a :增加, a 的後面可以接字串,而這些字串會在新的一行出現(向匹配行後面插入內容)

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

d :刪除, 後面一般不接內容

i :插入, i 的後面可以接字串,而這些字串會在新的一行出現(向匹配行前面插入字串)

p :列印, 列印出匹配的內容,通常與-n選項和用

s :取代, 可以直接進行取代

格式:

n1,n2動作
n1, n2 :不一定會存在,一般代表【選擇進行動作的行數】,舉例來說,如果我的動作是需要在 0 到 5 行之間進行的,則:0,5動作行為

示例1:修改取代

#直接修改檔案內容,將hhh.txt中包含helloword的行 取代為hiword

sed -i '/helloword/ c hiword' hhh.txt

Shell指令碼程式設計之Shell函式

1.linux shell可以使用者定義函式,然後在shell指令碼中可以隨便呼叫 shell中函式的定義格式如下 function funname 1 可以帶function fun 定義,也可以直接fun 定義,不帶任何引數 2 引數返回,可以顯示加 return返回,如果不加,將以最後一條命令...

Shell指令碼程式設計之Shell陣列

1.bash支援一維陣列 不支援多維陣列 並且沒有限定陣列的大小 1 定義陣列 array name value0 value1 value2 value3 或者array name value0 value1 value2 value3 或者單獨定義 2 讀取陣列 使用 符號可以獲取陣列中的所有元...

shell指令碼程式設計 sed 03

shell指令碼程式設計 sed 03 指令 p 輸出 d 刪除 1.刪除檔案最後一行 sed d test.txt 2.刪除檔案的空行 sed d test.txt s 替換 語法結構 1.sed s old new test.txt 替換第乙個匹配到的old 2.sed s old new g ...