sed(Stream Editor)是处理文本的高效工具,无需打开文件即可批量修改、过滤文本。
1. 在每行的行首添加字符串,比如"HEAD",命令为:
sed 's/^/HEAD&/g' textfile在每行的行尾添加字符串,比如"TAIL",命令为:
sed 's/$/&TAIL/g' textfile测试效果如下图:

2. 在文本的所有偶数行的内容前添加 tab 制表符:
echo -e "First line\nLine2\nline3\nline4" | sed '2~2 s/.*/\t &/'
#奇数行
echo -e "First line\nLine2\nline3\nline4" | sed '1~2 s/.*/\t &/'测试效果如下图:

3. 将文本第1, 2行所有的小写字母转为大写字母
echo -e "zhAng San\nLi sI\nWanG wU" |sed '1,2y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'测试效果如下图:

4. 删除文本文件中所有的特殊字符 ^M
sed -i 's/\x0d//g' text测试效果如下图:

5. 将不可打印的 ASCII 控制字符替换为普通字符串
#写成多行便于查看
sed -r \
-e 's/\x00/[NUL]/g' \
-e 's/\x01/[SOH]/g' \
-e 's/\x02/[STX]/g' \
-e 's/\x03/[ETX]/g' \
-e 's/\x04/[EOT]/g' \
-e 's/\x05/[ENQ]/g' \
-e 's/\x06/[ACK]/g' \
-e 's/\x07/[BEL]/g' \
-e 's/\x08/[BS]/g' \
-e 's/\x0A/[LF]/g' \
-e 's/\x0B/[VT]/g' \
-e 's/\x0C/[FF]/g' \
-e 's/\x0D/[CR]/g' \
-e 's/\x0E/[SO]/g' \
-e 's/\x0F/[SI]/g' \
-e 's/\x10/[DLE]/g' \
-e 's/\x11/[DC1]/g' \
-e 's/\x12/[DC2]/g' \
-e 's/\x13/[DC3]/g' \
-e 's/\x14/[DC4]/g' \
-e 's/\x15/[NAK]/g' \
-e 's/\x16/[SYN]/g' \
-e 's/\x17/[ETB]/g' \
-e 's/\x18/[CAN]/g' \
-e 's/\x19/[EM]/g' \
-e 's/\x1A/[SUB]/g' \
-e 's/\x1B/[ESC]/g' \
-e 's/\x1C/[FS]/g' \
-e 's/\x1D/[GS]/g' \
-e 's/\x1E/[RS]/g' \
-e 's/\x1F/[US]/g' \
-e 's/\x7F/[DEL]/g' \
file_in > file_out