国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

linux中sed命令的使用與注意小結

2024-09-01 13:50:48
字體:
來源:轉載
供稿:網友

前言

sed是一種流編輯器,它是文本處理中非常有用的工具,能夠完美的配合正則表達式使用,功能不同凡響。處理時,把當前處理的行存儲在臨時緩沖區中,稱為『模式空間』(pattern space),接著用sed命令處理緩沖區中的內容,處理完成后,把緩沖區的內容送往屏幕。接著處理下一行,這樣不斷重復,直到文件末尾。文件內容并沒有改變,除非你使用重定向存儲輸出。sed主要用來自動編輯一個或多個文件,簡化對文件的反復操作,編寫轉換程序等。

sed的用法

$ sed [-nefr] [動作]

參數:

  • -n : 使用安靜模式。在一般sed用法中,所有來自STDIN的數據一般都會被列出到屏幕上。但如果加上-n參數后,則只有經過sed特殊處理的那一行(或者操作)才會被列出來。
  • -e : 直接在命令行模式上進行sed的動作編輯。(默認)
  • -f : 直接將sed的動作寫在一個文件內, -f filename則可以執行filename內的sed動作。
  • -r : sed的動作支持的是擴展型正則表達式的語法(默認是基礎正則表達式語法)。
  • -i : 直接修改讀取的文件內容,而不是屏幕輸出。

默認情況下sed不直接作用于讀取的文件中

動作說明: [n1[,n2]] function

  • n1,n2 : 不見得會存在,一般代表選擇進行動作的行數,舉例來說,如果我的動作是需要在10到20行之間進行的,則“10,20[動作行為]”。

function 有下面的這些參數:

  • a : 新增到下一行,后面可以接字符串
  • c : 替換,后面可以接字符串
  • d : 刪除,后面不接熱河參數
  • i : 插入到上一行,后面可接字符串
  • p : 打印,通常會與參數 sed -n 一起運行
  • s : 查找并替換特定字符串,通常搭配正則表達式。

     例如,1,20s/old/new/g

演示

//假設有text文件$ sed '2,5d' text #將第2~5行刪除$ sed '2a hahaha' text #在第二行后加上“hahaha”字樣$ sed '2a hahaha/> xixixi' text #在第二行后加上兩行字$ sed '2,5c No 2-5 number' text #將第2~5行的內容替換成為“No 2-5 number”,是整行替換$ sed -n '5,7p' text #將5~7行打印出來,一定要加 -n$ sed 's/hahaha/ssss/g' text #將hahaha字段替換成ssss,這是部分數據的查找并替換

sed還可以和正則表達式配合使用

如:

$ sed 's/^h/ssss/g' text #將h開頭的字段替換成ssss

注意

  1. sed后面接的動作,務必以兩個單引號括住。
  2. 使用p(打印)參數時,sed一定要用-n,否則所有的行都會被輸出,這樣就沒有意義了。
  3. sed默認不直接作用于讀取的文件中。
  4. -i參數要慎用,它會直接修改讀取的文件內容。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 屯昌县| 交口县| 阿勒泰市| 荆门市| 梧州市| 沂南县| 南昌市| 含山县| 花莲县| 合江县| 嘉定区| 什邡市| 嵩明县| 延寿县| 通山县| 凤冈县| 西藏| 临城县| 长顺县| 安溪县| 胶南市| 建平县| 芦溪县| 雅安市| 松原市| 利辛县| 桂林市| 临汾市| 专栏| 张家界市| 泽州县| 郸城县| 大英县| 句容市| 太仓市| 阿拉尔市| 揭阳市| 东乌珠穆沁旗| 大丰市| 仁化县| 齐齐哈尔市|