Linux 命令sed 學習

2021-10-25 20:09:14 字數 1676 閱讀 7631

sed常用的命令選項表

命令選項

功能描述

-r支援正規表示式

-i[suffix]

直接修改原始檔,如果設定了suffix 字尾名,sed會將資料備份

-n ,–silent

遮蔽預設輸出功能,預設sed會把匹配到的資料顯示到螢幕上

-e指定需要執行的sed 指令,支援使用多個帶 -e 引數

-f指定需要執行的指令碼,需要 提前將sed 指令寫入檔案中

sed 基本操作指令

基本操作指令

功能描述

p列印當前匹配資料行

l小寫l ,列印當前匹配的資料行(顯示控制字元,如回車)

=列印當前讀取的資料行

a text

匹配的資料行後追加文字內容

i text

匹配的資料行前追加文字內容

d刪除匹配的資料行整行內容

c text

將匹配的資料行整行內容替換為特定的內容

r filename

從檔案中讀取資料並追加到匹配的資料行後面

w filename

將匹配到的資料寫入特定的檔案中

q [exit code]

立刻退出sed 指令碼

s/regexp/replace/

使用正則匹配,將匹配到的資料替換為特定的內容

sed 指令執行前需要根據條件定位需要處理的資料行,如果沒有指定定位條件行,則預設sed 會對所有資料執行特定的指令。

sed 支援的資料定位方法

格式功能描述

number

直接根據行號匹配

first~step

從first 行開始,步長為step,匹配所有滿足條件的資料行

$匹配最後一行

/regexp/

使用正規表示式匹配資料行

\cregexpc

使用正規表示式匹配資料行,c 可以是任意字元

addr1,addr2

直接使用行號定位,匹配從addr1到addr2的所有行

addr1,+n

直接使用行號定位,匹配從addr1以及後面的n行

基本用法

sed 命令選項  '定位方式 基本操作' 操作檔案

# 先新建乙個text.txt 檔案 , 可以針對 txt 檔案進行查詢

#顯示第 1 、3 、5 行

sed -n '1p;3p;5p' text.txt

# 執行兩條 指令

sen -n -e '1p' -e '/text/l' text.txt

sed 高階指令

高階指令

功能描述

h將模式空間的資料複製到保留空間

h將模式空間的資料追加到保留空間

g將保留空間的資料複製到模式空間

g將保留空間的資料追加到模式空間

x將模式空間和保留空間的資料對調

n讀取下一行資料到模式空間

n讀取下一行資料追加到模式空間

y/原始檔/目標檔案

以字元為單位將源字元轉為目標字元

:label

為t或者b指令定義label標籤

t label

有條件跳轉到標籤(label),如果沒有label則跳轉到指令的結尾

b label

跳轉到標籤label ,如果沒有label 則跳轉到指令的結尾

Linux命令學習 sed

sed是乙個很好的檔案處理工具,本身是乙個管道命令,主要是以行為單位進行處理,可以將資料行進行替換 刪除 新增 選取等特定工作,下面先了解一下sed的用法 sed命令列格式為 sed nefri command 輸入文字 常用選項 n 使用安靜 silent 模式。在一般 sed 的用法中,所有來自...

Linux學習之sed命令詳解

sed是stream editor的簡稱,也就是流編輯器。它一次處理一行內容,處理時,把當前處理的行儲存在臨時緩衝區中,稱為 模式空間 pattern space 接著用sed命令處理緩衝區中的內容,處理完成後,把緩衝區的內容送往螢幕。接著處理下一行,這樣不斷重複,直到檔案末尾。檔案內容並沒有 改變...

Sed命令學習

該文章 jims of 肥肥世家 table of contents 1.sed簡介 2.定址 3.sed命令 4.選項 5.元字符集 6.例項 7.指令碼 8.小技巧 可以通過定址來定位你所希望編輯的行,該位址用數字構成,用逗號分隔的兩個行數表示以這兩行為起止的行的範圍 包括行數表示的那兩行 如1...