shell命令之---sed

1. sed編輯器基礎

  1.1 替換標記

    命令格式:s/pattern/replacement/flags

    $ cat data4.txt
    This is a test of the test script.
    This is the second test of the test script.

    有4種可用的替換標記:

      數字,表明新文本將替換第幾處模式匹配的地方;

      g,表明新文本將會替換所有匹配的文本;

      p,表明原先行的內容要打印出來;

      w file,將替換的結果寫到文件中。

    在第一類替換中,可以指定sed編輯器用新文本替換第幾處模式匹配的地方。
    ??? $ sed 's/test/trial/2' data4.txt
     ?? This is a test of the trial script.
     ???? This is the second test of the trial script

    將替換標記指定為2的結果就是: sed編輯器只替換每行中第二次出現的匹配模式。

    g替換標記使你能替換文本中匹配模式所匹配的每處地方。
      $ sed 's/test/trial/g' data4.txt
??????????????????????? This is a trial of the trial script.
??????????????????????? This is the second trial of the trial script.
????????????? p替換標記會打印與替換命令中指定的模式匹配的行。這通常會和sed的-n選項一起使用。

      $ cat data5.txt
      This is a test line.
      This is a different line.
      $
      $ sed -n 's/test/trial/p' data5.txt
      This is a trial line.

???????????? -n選項將禁止sed編輯器輸出。但p替換標記會輸出修改過的行。將二者配合使用的效果就是只輸出被替換命令修改過的行。

   ? w替換標記會產生同樣的輸出,不過會將輸出保存到指定文件中。
      $ sed 's/test/trial/w test.txt' data5.txt
      This is a trial line.
      This is a different line.
      $
      $ cat test.txt
      This is a trial line. 

  1.2 使用地址

    在sed編輯器中有兩種形式的行尋址:

      以數字形式表示行區間

      以文本模式來過濾出行  

  1.3 刪除行

    命令d執行刪除操作。

    可以結合指定行號或是使用模式匹配

    通過特殊的文件結尾字符:
    $ sed '3,$d' data6.txt
    This is line number 1.
    This is line number 2.
    $

    sed編輯器的模式匹配特性也適用于刪除命令。
    $ sed '/number 1/d' data6.txt
    This is line number 2.
    This is line number 3.
    This is line number 4.
    $

    說明 記住, sed編輯器不會修改原始文件。你刪除的行只是從sed編輯器的輸出中消失了。原始文件仍然包含那些“刪掉的”行

  1.4 插入和附加文本

    sed編輯器允許向數據流插入和附加文本行。

    插入(insert)命令(i)會在指定行前增加一個新行;

    附加(append)命令(a)會在指定行后增加一個新行。

    命令行格式如下:

    sed '[address]command\ new line'

    例如:$ echo "Test Line 2" | sed 'i\Test Line 1'
       Test Line 1
       Test Line 2
       $

  1.5 轉換命令

    轉換(transform)命令(y)是唯一可以處理單個字符的sed編輯器命令。轉換命令格式如下。
    [address]y/inchars/outchars/

    這里有個使用轉換命令的簡單例子。
    $ sed 'y/123/789/' data8.txt
    This is line number 7.
    This is line number 8.
    This is line number 9.
    This is line number 4.
    This is line number 7 again.
    This is yet another line.
    This is the last line in the file.

?

?

?

    

    

    


   

?

?

轉載于:https://www.cnblogs.com/weidongliu/p/11002001.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/275006.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/275006.shtml
英文地址,請注明出處:http://en.pswp.cn/news/275006.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SEE Conf: Umi 4 設計思路文字稿

大家好,我是若川。持續組織了5個月源碼共讀活動,感興趣的可以點此加我微信 ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。復制此鏈接 https:…

用戶體驗改善案例_改善用戶體驗研究的5種習慣

用戶體驗改善案例There’s plenty of misunderstanding around user research, whether it’s the concept of validation or one-off anecdotes being thrown around as concrete evidence for a product decision.用戶研究存在很多誤解,無論是驗證的概念還是一次性…

一場賽跑引起的并發知識

享學特邀作者:老顧前言我們小伙伴們是不是經常需要測試代碼的性能?小伙伴們是不是就會想到jmeter進行壓力測試一下,模擬N個用戶同時執行下,看看響應的時間多少。今天老顧就用一個經典的比賽案例,來嘗試自行編寫個比賽業…

oracle中使用子查詢為何取到大于自然數1 rownum 淺度解析

Oracle 沒有提供TOP N 語句,若希望按特定條件查詢前N 條記錄,可以使用偽列ROWNUM。 ROWNUM 是對結果集加的一個偽列,即先查到結果集之后再加上去的一個列(注意:先要 有結果集)。 rownum 的值是oracle 順序分配的從查詢返回的行的編…

巴克萊對沖_“巴克萊的財政預算案”:使金錢管理對心理健康有效—用戶體驗案例研究

巴克萊對沖Disclaimer: all official Barclays assets used for this project are purely for educational/project purposes only and do not reflect the intentions of Barclays or any of its affiliates.免責聲明:用于此項目的所有官方巴克萊資產純粹是出于教育…

6 個對所有 Web 開發者都有用的 GitHub 倉庫

作者:Mehdi Aoussiad原文:https://javascript.plainenglish.io/6-useful-github-repositories-for-all-web-developers-44f26912fd66大家好,我是若川。持續組織了5個月源碼共讀活動,感興趣的可以點此加我微信 ruochuan12 參與&…

快速刪除數據庫中所有表中的數據

今天又學到一招,可以快速刪除數據庫中所有的用戶表中的數據。我是個菜鳥,望各位大神多多指教 select truncate table Name ; from sysobjects where xtypeU order by name asc; 該條語句執行之后會將數據庫中所有的表都查詢出來,復制出來之…

openfiler的iSCSI配置(二)

為什么80%的碼農都做不了架構師?>>> 一.openfiler iSCSI配置 1.啟動iSCSI target server服務。在Services列表下。 2.設置訪問列表。在System---Network Access Configuration下設置。 3.創建卷設備 二.ISCSI客戶端配置 1.安裝open-iscsi # apt-get ins…

送你一份用Electron開發桌面應用的避坑指南【送3本書,含犀牛書】

大家好,我是若川。持續組織了5個月源碼共讀活動,感興趣的可以點此加我微信 ruochuan12 參與,新年第一次送3本書。抽獎規則見文末。如今,Electron 領域發生了重大的變革,Electron 版本更新換代極快,難以計數…

時間續

mois : janvier fvrier mars avril mai juin juillet aot septembre octobre novembre dcembre semaine : lundi mardi mercredi jeudi vendredi samedi dimanche 轉載于:https://www.cnblogs.com/lavieenrose/archive/2012/02/18/2357597.html

nginx修改upstream不重啟的方法(ngx_http_dyups_module模塊)

為什么80%的碼農都做不了架構師?>>> nginx很強大,第三方模塊也不少,淘寶在nginx上很活躍,特別是章亦春,他參與的模塊至少10, 好了今天主角不是他,是一款動態配置upstream的模塊,這個…

c# 設計原則需要學習嗎_向最好的學習:產品設計原則

c# 設計原則需要學習嗎重點 (Top highlight)In my job as Design Team Lead at SimpleSite, I’ve recently been part of creating a set of Product Design Principles. In this process, I spent a lot of time studying the theory, learning about best practices, and ge…

初學Java-接口

在Java語言中,接口有兩種意思: 一是指概念性的接口,即指系統對外提供的所有服務。類的所有能被外部使用者訪問的方法構成了類的接口 二是指用interface關鍵字定義的實實在在的接口,也稱為接口類型。它用于明確的描述系統對外提供的…

Node.js 2021年開發者報告解讀

大家好,我是若川。持續組織了5個月源碼共讀活動,感興趣的可以點此加我微信 ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。很多人覺得Node.js…

搭建nginx反向代理用做內網域名轉發

為什么80%的碼農都做不了架構師?>>> 情景 由于公司內網有多臺服務器的http服務要映射到公司外網靜態IP,如果用路由的端口映射來做,就只能一臺內網服務器的80端口映射到外網80端口,其他服務器的80端口只能映射到外網的…

外國經典兒童讀物合集pdf_幫助父母在線購買兒童讀物–用戶體驗案例研究

外國經典兒童讀物合集pdfT? As our first group project at GA, we needed to quickly learn how to use several online tools that helped our team of 4 collaborate and communicate while socially distant. Despite the rather extreme circumstances our team was stil…

Windows Azure Marketplace增加對六種語言和HTML5應用程序的支持

對于那些不熟悉Windows Azure Marketplace的人來說,它是一個供數據供應商和開發人員購買和銷售數據集和應用程序的在線市場。 可以在世界上的26個國家使用Windows Azure Marketplace,它現在支持6種語言,包括日語、漢語、法語、德語、西班牙語…

如何優雅處理 async await 錯誤——解讀小而美的 await-to-js 庫

大家好,我是若川。持續組織了5個月源碼共讀活動,感興趣的可以點此加我微信 ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。這是源碼共讀活動第…

同態加法_同態的Spotify

同態加法重點 (Top highlight)When neumorphism was predicted to be one of the top 2020 UI design trends, I wanted to give it a shot. Having said that, I wanted to explore a type that had not gone overboard, neumorphism in Dark Mode.當neumorphism預計為頂部202…

ubuntu清除無效的右鍵打開方式

為什么80%的碼農都做不了架構師?>>> 今天安裝了幾個程序又將它們刪除了之后發現了一個比較嚴重的后遺癥,在相關文件右鍵打開方式中出現了許多實際已經不存在的文件打開程序名。想了多種方法去除,可是效果不佳,最終采用…