首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >sed 命令小技巧 笔记二

sed 命令小技巧 笔记二

作者头像
程序熵
发布2025-12-30 20:06:15
发布2025-12-30 20:06:15
1130
举报
文章被收录于专栏:技术汇技术汇

sed(Stream Editor)是处理文本的高效工具,无需打开文件即可批量修改、过滤文本。

1. 在每行的行首添加字符串,比如"HEAD",命令为:

代码语言:javascript
复制
sed 's/^/HEAD&/g' textfile

在每行的行尾添加字符串,比如"TAIL",命令为:

代码语言:javascript
复制
sed 's/$/&TAIL/g' textfile

测试效果如下图:

2. 在文本的所有偶数行的内容前添加 tab 制表符:

代码语言:javascript
复制
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行所有的小写字母转为大写字母

代码语言:javascript
复制
echo -e "zhAng San\nLi sI\nWanG wU" |sed '1,2y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'

测试效果如下图:

4. 删除文本文件中所有的特殊字符 ^M

代码语言:javascript
复制
sed -i 's/\x0d//g' text

测试效果如下图:

5. 将不可打印的 ASCII 控制字符替换为普通字符串

代码语言:javascript
复制
#写成多行便于查看
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
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-12-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序熵 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档