linux三劍客之sed的簡單使用

2021-10-11 14:30:46 字數 2350 閱讀 9096

6. 行下追加 ,行上新增 ,替換整行

sed 流式編輯器,可以對文件進行非互動式增刪改

查,逐行處理

1,前置指令 | sed 選項 定址符 指令

2,sed 選項 定址符 指令 被處理文件

選項 -n 遮蔽預設輸出 -i寫入檔案 -r支援擴充套件正則

指令 p輸出 d刪除 s替換

sed -n '1p' user		//輸出第1行

sed -n '2p' user //輸出第2行

sed -n '3p' user //輸出第3行

sed -n '2,4p' user //輸出第2~4行

sed -n '2,+1p' user //輸出第2行以及後面1行

sed -n '2p;4p' user //輸出第2行,第4行

sed -n '/^root/p' user //在sed中使用正規表示式輸出以root開頭的行

sed -n '$p' user //檢視最後一行

sed -n '1!p' user //檢視除了第1行以外的行, !代表取反

sed -n '=' user    //檢視所有行號

sed -n '$=' user //檢視最後一行的行號,相當於檢視文件

總共有幾行

sed

'1d' user //刪第1行

sed'd' user //刪所有

sed'3d' user //刪第3行

sed'2,5d' user //刪2~5行

sed'4,+2d' user //刪4行以及後面2行

sed'1d;3d' user //刪第1行,第3行

sed'$d' user //刪除最後一行

vim test.txt    //準備素材,寫入下列內容 

2017 2011 2018

2017 2017 2024

2017 2017 2017

sed's/2017/8888/' test.txt //替換所有行的第1個2017為8888

sed'1s/2017/8888/' test.txt //替換第1行的第1個2017

sed'2s/2017/8888/' test.txt //替換第2行

sed'1,2s/2017/8888/' test.txt //替換1~2行

sed's/2017/8888/2' test.txt //替換所有行的第2個2017

sed's/2017/8888/3' test.txt //替換所有行的第3個2017

sed'/2011/s/2017/8888/' test.txt //替換有2011的行的第1個2017

sed's/2017/8888/g' test.txt //替換所有行的所有個

sed'3s/2017/8888/;3s/2017/8888/' test.txt //替換第3行的第1個和第2個2017

注意事項:可以更改替換的間隔符號

例如:sed 『s!/bin/bash!/sbin/sh!』 /etc/passwd

將 /etc/passwd中的/bin/bash替換成/sbin/sh

1.刪除檔案中每行的第二個、最後乙個字元

sed

's/.//2;s/.$//' test.txt

2.刪除檔案中所有的數字
sed -i 's/[0-9]//g' test.txt
3.將檔案中每行的第乙個、倒數第1個字元互換
echo abcdefghi > abc

sed -r 's/^(.)(.*)(.)$/\3\2\1/' abc

4.為檔案中每個大寫字母新增括號
echo qwdqdgjdksdhtth >

test

sed -r 's/([a-z])/(\1)/g'

test

sed

'a 666' user //在所有行下追加666

sed'1a 666' user //第1行下追加666

sed'i 666' user //所有行上新增666

sed'3i 666' user //第3行上新增666

sed'2a 666' user //第2行下追加666

sed'c 666' user //所有行替換成666

sed'/root/c 666' user //找到有root的行替換成666

Linux三劍客之sed實戰

sed是linux中一種流編輯器,是文字處理非常有力的工具,支援將資料進行替換 刪除 新增 選取等功能。首先將決定選取哪些行進行編輯,規則可以是數字 正規表示式等,若沒有限制,則將處理輸入檔案的所有行。在處理時,將當前行儲存在臨時快取區中,稱為 模式空間 然後使用sed指令處理緩衝區的內容,處理成功...

八 Linux三劍客之sed

處理文字檔案的命令 引數說明 動作說明 c 取代,c 的後面可以接字串,這些字串可以取代 n1,n2 之間的行!d 刪除,d 後面通常不接任何字串 p 列印,將某個選擇的資料印出。通常 p 會與引數 sed n 一起使用 s 取代,搭配正規使用,例如 1,20s old new g 案例在testf...

Linux 文字三劍客之 sed

linux 系統中一切皆檔案。檔案是個文字。可以讀 可以寫,如果是二進位制檔案,還能執行。在使用linux的時候,大都是要和各式各樣檔案打交道。熟悉文字的讀取 編輯 篩選就是linux系統管理員的必備技能 文字處理工具 grep awk sed,本篇主要講sed sed行編輯命令。用來將資料進行選取...