英文標題:USEFUL ONE-LINE SCRIPTS FOR SED (Unix stream editor)
原標題:HANDY ONE-LINERS FOR SED (Unix stream editor)
整理:Eric Pement - 電郵:pemente[at]northpark[dot]edu 版本5.5
譯者:Joe Hong - 電郵:hq00e[at]126[dot]com
在以下地址可找到本文檔的最新(英文)版本:
http://sed.sourceforge.net/sed1line.txt
http://www.pement.org/sed/sed1line.txt
其他語言版本:
中文 - http://sed.sourceforge.net/sed1line_zh-CN.html
捷克語 - http://sed.sourceforge.net/sed1line_cz.html
荷語 - http://sed.sourceforge.net/sed1line_nl.html
法語 - http://sed.sourceforge.net/sed1line_fr.html
德語 - http://sed.sourceforge.net/sed1line_de.html
葡語 - http://sed.sourceforge.net/sed1line_pt-BR.html
文本間隔:
--------
# 在每一行后面增加一空行
sed G
# 將原來的所有空行刪除并在每一行后面增加一空行。
# 這樣在輸出的文本中每一行后面將有且只有一空行。
sed '/^$/d;G'
# 在每一行后面增加兩行空行
sed 'G;G'
# 將第一個腳本所產生的所有空行刪除(即刪除所有偶數行)
sed 'n;d'
# 在匹配式樣“regex”的行之前插入一空行
sed '/regex/{x;p;x;}'
# 在匹配式樣“regex”的行之后插入一空行
sed '/regex/G'
# 在匹配式樣“regex”的行之前和之后各插入一空行
sed '/regex/{x;p;x;G;}'
編號:
--------
# 為文件中的每一行進行編號(簡單的左對齊方式)。這里使用了“制表符”
# (tab,見本文末尾關于'/t'的用法的描述)而不是空格來對齊邊緣。
sed = filename | sed 'N;s//n//t/'
# 對文件中的所有行編號(行號在左,文字右端對齊)。
sed = filename | sed 'N; s/^/ /; s/ */(./{6,/}/)/n//1 /'
# 對文件中的所有行編號,但只顯示非空白行的行號。
sed '/./=' filename | sed '/./N; s//n/ /'
# 計算行數 (模擬 "wc -l")
sed -n '$='
文本轉換和替代:
--------
# Unix環境:轉換DOS的新行符(CR/LF)為Unix格式。
sed 's/.$//' # 假設所有行以CR/LF結束
sed 's/^M$//' # 在bash/tcsh中,將按Ctrl-M改為按Ctrl-V
sed 's//x0D$//' # ssed、gsed 3.02.80,及更高版本
# Unix環境:轉換Unix的新行符(LF)為DOS格式。
sed "s/$/`echo -e ///r`/" # 在ksh下所使用的命令
sed 's/$'"/`echo ///r`/" # 在bash下所使用的命令
sed "s/$/`echo ///r`/" # 在zsh下所使用的命令
sed 's/$//r/' # gsed 3.02.80 及更高版本
# DOS環境:轉換Unix新行符(LF)為DOS格式。            
新聞熱點
疑難解答