最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

linux中sed命令的使用與注意小結(jié)

 更新時間:2017年02月24日 11:22:21   作者:王一百  
sed本身也是一個管道命令,可以分析standard input的,sed可以將數(shù)據(jù)進行替換、刪除、新增、選取特定行等。下面這篇文章主要介紹了linux中sed命令的用法和注意事項,需要的朋友可以參考借鑒,下面來一起看看吧。

前言

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

sed的用法

$ sed [-nefr] [動作]

參數(shù):

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

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

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

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

function 有下面的這些參數(shù):

  • a : 新增到下一行,后面可以接字符串
  • c : 替換,后面可以接字符串
  • d : 刪除,后面不接熱河參數(shù)
  • i : 插入到上一行,后面可接字符串
  • p : 打印,通常會與參數(shù) 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行的內(nèi)容替換成為“No 2-5 number”,是整行替換
$ sed -n '5,7p' text #將5~7行打印出來,一定要加 -n
$ sed 's/hahaha/ssss/g' text #將hahaha字段替換成ssss,這是部分數(shù)據(jù)的查找并替換

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

如:

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

注意

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

總結(jié)

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

相關文章

  • Linux下將源文件編譯成目標文件的過程解析

    Linux下將源文件編譯成目標文件的過程解析

    這篇文章主要介紹了Linux下將源文件編譯成目標文件的過程解析,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • Centos中TCPWrappers訪問控制實現(xiàn)

    Centos中TCPWrappers訪問控制實現(xiàn)

    這篇文章主要介紹了Centos中TCPWrappers訪問控制實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11
  • Linux下刪除SVN版本庫的詳細過程

    Linux下刪除SVN版本庫的詳細過程

    在Linux系統(tǒng)中,刪除Subversion(SVN)版本庫是一個相對簡單的過程,然而,在執(zhí)行刪除操作之前,確保你已經(jīng)備份了所有重要的數(shù)據(jù),因為刪除操作是不可逆的,本文將指導你如何安全地刪除SVN版本庫,需要的朋友可以參考下
    2025-02-02
  • Ubuntu18.04 安裝 Anaconda3的教程詳解

    Ubuntu18.04 安裝 Anaconda3的教程詳解

    這篇文章主要介紹了Ubuntu18.04 安裝 Anaconda3的教程,本文通過實例圖文相結(jié)合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • CentOS7.4下MySQL5.7.28二進制方式安裝的方法步驟

    CentOS7.4下MySQL5.7.28二進制方式安裝的方法步驟

    這篇文章主要介紹了CentOS7.4下MySQL5.7.28二進制方式安裝的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11
  • CentOS 6 啟動流程詳細介紹

    CentOS 6 啟動流程詳細介紹

    這篇文章主要介紹了CentOS 6 啟動流程詳細介紹的相關資料,這里對centos 啟動進行了分析,希望能幫助到大家理解centos 啟動流程,需要的朋友可以參考下
    2017-07-07
  • linux中alarm函數(shù)的實例講解

    linux中alarm函數(shù)的實例講解

    今天小編就為大家分享一篇關于linux中alarm函數(shù)的實例講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • Linux進程間通信方式之socket使用實例

    Linux進程間通信方式之socket使用實例

    這篇文章主要介紹了Linux進程間通信方式之socket使用實例,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • centos6.5下svn的使用說明

    centos6.5下svn的使用說明

    這篇文章主要介紹了centos6.5下svn的使用說明的相關資料,方法非常的實用,有需要的小伙伴可以參考下
    2016-10-10
  • centos 7 安裝卸載apache(httpd)服務的詳細步驟

    centos 7 安裝卸載apache(httpd)服務的詳細步驟

    前面我們已經(jīng)安裝好了mysql,今天安裝httpd,然后試著訪問以下,由于博主已經(jīng)安裝過一次,所以先說卸載,再說安裝,需要的朋友可以參考下
    2020-07-07

最新評論

康乐县| 土默特右旗| 乌兰浩特市| 尉犁县| 乐山市| 平安县| 景谷| 石阡县| 秦皇岛市| 青冈县| 高台县| 青冈县| 集贤县| 镇远县| 武冈市| 略阳县| 博湖县| 云安县| 屏东县| 台前县| 景泰县| 西宁市| 土默特右旗| 南康市| 曲靖市| 安国市| 永泰县| 万年县| 新民市| 通化县| 赤峰市| 台北市| 威远县| 广元市| 武义县| 呼和浩特市| 深圳市| 慈溪市| 微博| 两当县| 四川省|