Linux sed

2022-06-23 20:24:08 字數 1483 閱讀 3434

注意:所有匹配需要用單引號

一、獲取最後一行內容

docker images | grep "none" | sed -n '$'p

二、獲取第一行內容

docker images | grep "none" | sed -n '1'p

三、獲取第一行到最後一行內容

docker images | grep "none" | sed -n '1,$'p

四、替換操作: s命令

sed 's/book/books/' file

五、全面替換標記g

sed -i 's/book/books/g' file

六、定界符

1、以上命令中字元 / 在sed中作為定界符使用,也可以使用任意的定界符:

sed 's:test:text:g' file

sed 's|test|text|g' file

2、定界符出現在樣式內部時,需要進行轉義。

sed 's/\/bin/\/usr\/local\/bin/g'

七、刪除操作:d命令

1、刪除空白行:

sed '/^$/d' file

2、刪除檔案的第2行:

sed '2d' file

3、刪除檔案的第2行到末尾所有行:

sed '2,$d' file

4、刪除檔案最後一行:

sed '$d' file

5、刪除檔案中所有開頭是test的行:

sed '/^test/'d file

八、已匹配字串標記&

1、正規表示式 \w\+ 匹配每一個單詞,使用 [&] 替換它,& 對應於之前所匹配到的單詞:

echo this is a test line | sed 's/\w\+/[&]/g'

[this] [is] [a] [test] [line]

2、所有以192.168.0.1開頭的行都會被替換成它自已加localhost:

sed 's/^192.168.0.1/&localhost/' file

192.168.0.1localhost

九、子串匹配標記\1

1、匹配給定樣式的其中一部分:

echo this is digit 7 in a number | sed 's/digit \([0-9]\)/\1/'

this is 7 in a number

2、命令中 digit 7,被替換成了 7。樣式匹配到的子串是 7,\(..\) 用於匹配子串,對於匹配到的第一個子串就標記為\1,依此類推匹配到的第二個結果就是\2,例如:

echo aaa bbb | sed 's/\([a-z]\+\) \([a-z]\+\)/\2 \1/'

bbb aaa

3、love被標記為1,所有loveable會被替換成lovers,並列印出來:

sed -n 's/\(love\)able/\1rs/p' file

linux sed用法

使用sed命令列格式為 root localhost sed nefri command 輸入文字 常用選項 n 使用安靜 silent 模...

Linux Sed技巧

sed s g filename sed s g filename sed s space g filename 行後 sed s ceagle n g filename 行前sed s ceagle n g filename 代表ceagle sed e s varable1 varable2 g...

linux之sed用法

sed是一個很好的檔案處理工具,本身是一個管道命令,主要是以行為單位進行處理,可以將資料行進行替換 刪除 新增 選取等特定工作,下面先了解一...