天天看點

shell sed 例子

sed
顯示 指令 描述
sed  -n '2p' /f1 顯示第二行
df -h | sed -n '2p' 支援管道
sed  -n '2,5p' /filename 顯示第2行到5行
sed  -n '2p;5p' /f1 顯示第2行h和5行
sed  -n '2p,$p' /f1 顯示第2行到行尾
sed  -n '2,+5p' /f1 顯示第2行以及第二行後5行
sed  -n '2~2p' /f1 顯示第2、4、6、8….行
sed  -n '$p' /f1 顯示行尾
sed  -n '/root$/p' /f1 顯示比對以root結尾的行
sed  -n '/s...:x/p' /f1 以s開頭以:x結尾,中間任意三個字元
sed  -n '/^stop/p' /f1 以stop開頭
sed  -n '/[0-9]/p' /f1 顯示包含數字的行
sed  -rn '/^(leo|lee)/p' /f1 參數-r開啟正規表達式
sed  -n '$=' /f1 顯示最後一行的行号
sed  -n '/root=/' /f1 顯示包含root的行号
sed  -n '/root/!p' /f1 顯示不包含root
插入 sed   -i '2a my name is lee' /f1 在第2行後插入
sed   -i.bak '3d'  /f1 将檔案備份為字尾名.bak後删除第3行
sed   -i 'd'  /f1 清空
删除 sed   -i '/^$/d'  /f1 删除空白行
sed   -i '/^#/d'  /f1 删除#開頭的行
sed   -i '/leo/d'  /f1 删除包含leo的行
追加 sed   -i '/2c my name is lee/d'  /f1 替換第二行
sed   -i '/lee/c leo'  /f1 将比對lee 的行整行替換為leo
sed '3r /f1'  /f2 将f1追加f2第3行後
sed 'w /f1'  /f2 将f1内容另存至f2
sed '1,3w /f1'  /f2 将f1的1-3行内容另存至f2
替換 sed -i '2s/leo/lee/'  /f1 将第2行leo替換為lee
sed -i 's/e/E/'  /f2 替換每一行的第1個e
sed -i 's/e/E/g'  /f2 替換每一行的所有e
sed -i 's/e/E/2'  /f2 替換每一行的第2個e
sed -i 's/LEO/lee/i'  /f2 i标記可以忽略大小寫,将比對的leo替換
sed -I 's#/sbin/nologin#/bin/sh#' /f1 使用#作為轉義符
sed -n -e '1p' -e '2p'  /f1 顯示1,2行
sed -f script.sed  /f1 參數f調用指令檔案

繼續閱讀