sed命令

sed命令詳解

概述:sed是一種流編輯器,他一次處理一行內容,處理時他會把當前的行存儲在臨時的緩沖區中,稱為模式空間,接著用sed命令處理緩沖區的內容,處理完成后,把緩沖區中的內容送到屏幕中,接著讀入下一行,執行下一個循環,這樣不斷的重復,直到文件的末尾,文件內容并沒有改變,除非使用重定向存儲輸出。sed總是以行對輸入處理,sed處理的不是原文件而是源文件的拷貝。

功能:主要用來自動編輯一個或多個文件,簡化對文件的反復操作,編寫轉換程序等。

在sed工具中會自動的開辟一個內存空間(模式空間patterm space),自動讀取文件中的一行,可以根據sed指令切割成一個小的和字段一樣,可以一段一段開處理,處理完自動這行就沒有了,處理結果可以顯示和修改,接著讀入下一行,執行下一個循環。

用法:

sed [option]… ‘script’ inputfile…?? (script是地址命令)

  1. -n 不輸出模式空間內容到屏幕,不自動打?。ㄊ勾蛴热葜伙@示一遍)
  2. -e 多點編輯,可以有多個script
  3. -f 從指定文件中讀取編輯腳本
  1. -r 支持使用擴展正則表達式
  2. -i.bak:備份文件并原處編輯

地址定界:

1.不給地址:對全文進行處理

2.單地址:#:指定的行,$:最后一行,/pattern/:被此模式能夠匹配到的每一行

3.地址范圍:#,#(從幾行到第幾行)。#,+#(第幾行到這行之后多少行)。/pat1/,/pat2/(兩個模式之間的行)。#,/pat1/(從第#行開始找,一直找到符合part1條件的行)。

4.~:步進,1~2 奇數行 2~2偶數行

編輯命令:

-p打印當前模式空間內容,追加到默認輸出之后

1

-d 刪除模式空間匹配的行,并立即啟用下一輪循環

a[\]text:在指定行后面追加文本 (補空格 \)

2

i[\]text在行前面插入文本

3

c[\]text 替換行為單行或多行文本。(Source那行替換為xxxxx)可替換配置文件

4

w /path/somefile :保存模式匹配的行至指定文件(例,將bash中以alias開頭的行拿出來存到另一個文件中)

5

r /path/somefile 讀取指定文件的文本至模式空間中匹配到的行后。例,讀取release文件到以 alias開頭的行的后面。

6

!模式空間中匹配行取反處理,(除了。。。干什么事)例打印除了bash結尾的所有的行

7

s///:搜索替代(查找替換),支持使用其他分隔符,s@@@,s###

替換標記:(命令中前面是正則表達式,后面是字符串)

g:行內全局替換

p:顯示替換成功的行

w:將替換成功的行保存至文件中

:/etc/passwd文件中bash結尾的行替換成nologin

8

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/96260

(0)
浮夸浮夸
上一篇 2018-04-16 08:53
下一篇 2018-04-16 09:11

相關推薦

  • linux基礎篇

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
    2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
    3、請使用命令行展開功能來完成以下練習:
    (1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d
    (2)、創建/tmp/mylinux目錄下的:
    mylinux/
    ├── bin
    ├── boot
    │ └── grub
    ├── dev
    ├── etc
    │ ├── rc.d
    │ │ └── init.d
    │ └── sysconfig
    │ └── network-scripts
    ├── lib
    │ └── modules
    ├── lib64
    ├── proc
    ├── sbin
    ├── sys
    ├── tmp
    ├── usr
    │ └── local
    │ ├── bin
    │ └── sbin
    └── var
    ├── lock
    ├── log
    └── run

    2018-05-20
  • Linux系統中的軟鏈接和硬鏈接

    Linux系統中的軟連接和硬鏈接小結

    2018-04-01
  • 馬哥教育– 第一周作業

    一、描述計算機的組成及其功能。 計算機由運算器,控制器,存儲器,輸入設備和輸出設備五大部分組成。 運算器的功能是用于完成算術運算、邏輯運算。負責計算機執行的所有數學與邏輯功能。 控制器的功能是主要負責對程序所執行的指令進行分析,并協調計算機各部件進行工作計算機的所有其他部件。 存儲器的功能是用于儲存信息的設備,通常是將信息數字化后再利用電、磁、光學等方式的媒…

    2018-05-12
  • 第一周作業

    本周作業 1、描述計算機的組成及其功能。 2、按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別。 3、描述Linux的哲學思想,并按照自己的理解對其進行解釋性描述。 4、說明Linux系統上命令的使用格式;詳細介紹ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、rebo…

    Linux筆記 2018-05-12
  • 第六周作業

    1、簡述osi七層模型和TCP/IP五層模型 1、 osi七層模型 1、應用層:OSI 參考模型中最靠近用戶的一層,為計算機用戶提供應用接口,也為用戶直接提供各種網絡服務。我們常見應用層的網絡服務協議有:HTTP,HTTPS,FTP,POP3、SMTP等。 2、表示層:提供各種用于應用層數據的編碼和轉換功能,確保一個主機的應用層發送的數據能被另一個主機的應用…

    2018-06-29
  • 第七周博客總結

    系統故障排錯匯總

    Linux筆記 2018-05-13
欧美性久久久久