sed 命令的高階用法

2021-09-11 03:03:04 字數 1282 閱讀 3712

d:刪除

p:顯示模式空間的內容

a \text:在行後面追加文字;支援使用\n實現多行追加;

i  \text:在行前面插入文字;支援使用\n實現多行插入;

c \text:替換行為單行或多行文字;

w /path/to/somefile:儲存模式空間匹配到的行至指定檔案中;

r /path/from/somefile:讀取指定檔案的文字流至模式空間中匹配到的行後;

=:為模式空間中的行列印行號;

!:取反條件;

s///:支援使用其它的分隔符,s@@@,s###

替換標記:

g:行內全域性替換;

p:顯示替換成功的行;

w /path/to/somefile:將替換成功的結果儲存至指定檔案中;

例:1.刪除/boot/grub/grub.conf檔案中所有以空白開頭的行行首的空白字元:

sed 's@^[[:space:]]\+@@' /etc/grub2.cfg

2.刪除/etc/fstab檔案中所有以#開頭,後面至少跟乙個空白字元的行的行首的#和空白字元;

sed 's@^#[[:space:]]\+@@' /etc/fstab

3.echo乙個絕對路徑用sed命令取出基名和目錄名

echo 「/etc/sysconfig」 | sed 's@[^/]\+/\?$@@'

h:把模式空間中的內容覆蓋至保持空間中;

h:把模式空間中的內容追加至保持空間中;

g:從保持空間取出資料覆蓋至模式空間;

g:從保持空間取出資料追加至模式空間;

x:把模式空間的內容與保持空間中的內容進行互換;

n:讀取匹配到的行的下一行至模式空間;

n:追加匹配到的行的下一行至模式空間;

d:刪除模式空間中的行;

d:刪除多行模式空間中的所有行。

-- 顯示偶數行

-- sed -n 'n;p' file  或者 sed '2~2p' file

-- 逆向顯示檔案內容

-- sed '1!g;h;$!d' file 或者 sed -n '1!g;h;$p' file

-- 顯示檔案後兩行

-- sed '$!n;$!d' file

-- 取出檔案最後一行

-- sed '$!d' file

-- 每行加空白行

-- sed 'g' file

-- 多的空白行合併成乙個空白行

-- sed '/^$/d;g' file

-- 顯示奇數行: sed 'n;d' file

sed高階用法

echo mmj evan df sed s 2 g 表示式含義s 表示替換命令 表示第乙個引號前的內容 表示兩引號之間的內容 表示引號後的內容 2表示第二對括號裡面的內容 輸出結果 evan同理 echo mmj evan df sed s 1 g 輸出結果為 mmj批量修改 echo excut...

sed命令的用法

sed命令的用法 sed 的基本命令 1 替換 s命令 1.1 基本用法 如 sed s day night new 該例子將檔案 old 中的每一行第一次出現的 day 替換成 night,將結果輸出到檔案 new s 替換 命令 分割符 delimiter day 搜尋字串 night 替換字串...

sed命令用法

接著用sed命令處理快取區的內容,處理完成後,把快取區的內容送往螢幕。接著處理下一行,這樣不斷重複,直到 檔案末尾。檔案內容本身並沒有改變。使用sed命令有2種形式 1.sed options commamd file 2.sed options f script file 例子 sed 2d te...