||
Sed 是 stream editor 简称.
1. 替换
sed 's/day/night/' < old > new
2 斜杠(/)作为分隔符
s 后面的字符常用做分隔符. 通常我们会使用斜杠(/). 当然你可以使用任何的符号.
例如我们将目录/usr/local/bin 换为 /common/bin . 你需要使用反斜杠()来引用斜杠.
sed 's//us/local/bin//common/bin/' <old >new
如果你嫌上面太难看.你可以用其他分隔符.
sed 's_/usr/local/bin_/common/bin_' < old >new
sed 's:/usr/local/bin :/common/bin:' < old >new
3. 使用 & 作为匹配字符串
echo "123 abc" | sed 's/[0-9]*/ & &/'
123 123 abc
4. 使用正则表达式 , -r.
5. 使用 1 保留模式的一部分
echo abcd123 | sed 's/([a-z]*).*/1/'
abcd
6. /g 全局替换
将第一个单词加上括号
sed 's/[^ ]*/(&)/' <old > new
如果想让文件中没一行的第一个单词加上括号
sed 's/[^ ][^ ]*/(&)/g' <old >new6 -f 使用脚本
sed -f sedscript <old > new
7 d 删除
查看前10行
sed '11, $ d' < file
8 p 打印
打印第5行到10行
sed -n '5,10 p' < file
9 i 插入一行
10. c 改变一行
#!/bin/sh sed ' /WORD/ c Replace the current line with the line '
参考:
http://www.grymoire.com/Unix/Sed.html#uh-0
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-21 04:10
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社