shell--sed的使用
sed 使用
sed 是一个Linux 常用文本处理指令,主要用在文本“行处理”
- 使用说明
1 | sed + 选项 +'命令'(脚本文件) + 处理文件或内容 |
- 选项
不带选项,则显示处理后的结果
1 | -e 指定脚本命令处理 |
基本语法
sed中脚本命令能够对行内容,执行增删改查等操作
1 | # 动作命令 |
使用范例
以下是单纯的sed
使用命令,sed
可以搭配通配符或者其他linux命令处理复杂文本处理,需自行摸索。
初始测试文本 test.txt
1 | 1 |
以下命令执行后的结果,均为下依次命令的处理文本
第2 行后增加“new”字符串
sed -i '2a \new' test.txt
test.txt:
1 | 1 |
修改2,3行内容为hello world
sed -i '2,3c \hello world' test.txt
test.txt:
1 | 1 |
删除2,3行
sed -i '2,3d' test.txt
test.txt:
1 | 1 |
- 第1行插入“123456”
sed -i '1i\123456' test.txt
test.txt:
1 | 123456 |
查找含“23”的行
sed -n '/23/p' test.txt
使用-n 输出匹配的行,文本内容不会改变
取代“23”为”xxx”
sed -i 's/23/xxx/g' test.txt
test.txt:
1 | 1xxx456 |
把“456”结尾替换成“…”
sed -i 's/456/\.../g' test.txt
因为“.”是特殊通配符,这里使用了“\”转义符号
test.txt:
1 | 1xxx... |
注意事项
sed 是一个很强大的文本处理命令,可以搭配awk
或者其他文本命令使用,能够解决大部分的文本处理场景。
如果不熟练,使用 -i 选项时,需要谨慎。