SED 1.1
时间:2010-09-25 来源:kr_zhang
:g/s1/s/s2/s3/g
第一个g表示对每一个包括s1的行都进行替换,第二个g表示对每一行包括s1的行所有的s2都用s3替换
s表示替换,s2是要被替换的字符串,他可以和s1相同(如果相同的话用//代替),s3是替换字符串
d G 删除直到工作缓存区结尾的内容 shirft+g
计算的3种方法:
tmp=` expr $2 + 1 `
tmp=$(( $1 + 6 ))
tmp=` “echo $1+4”|bc `
date –d ‘+n day’ “+%Y%m%d” (可以得到你天后的日期,格式为YYYYMMDD)
sed : 数据是一条一条进入 sed脚本的,一条记录处理完,下一条数据在进行处理。
每一条数据都是以最新的形式让下一个sed命令处理的。
s/pig/cow/g
s/cow/horse/g
经过处理后 文件中的pig都换成horse了 中间产生cow了,又被替换了。
SED的匹配模式
s/pig/cow/g 匹配所有行。
/zhang/s/pig/cow/g 匹配zhang的行。
/zhang/,/li/s/pig/cow/g 匹配zhang行到li的行
1,/li/s/pig/cow/g 行号 和 模式匹配确定范围
对一行数据进行多行操作,注意花括号独占一行后面不带空格
/zhang/,/li/ {
s/pig/cow/
s/cow/horse/
}
判断两个文件不同之处
diff testfile newfile
testfile独有的用< 指出
newfile 独有的用〉指出
基本格式:
[address]s/pattern/replancement/flags
flags是:
n 1到512间的一个数字,表示对本模式中指定模式的第N次出现的情况进行替换
g 对出现的所有情况进行更改(模式空间) 没有g时只对第一次出现进行替换
p 打印模式空间的内容
w file 将模式空间的内容写到文件file中
如果没有提供address 用pattern 进行匹配。
s/*/\
/2
用\ 反斜杠替换每行上的第二个制表符 反斜杠后面不可以有空格
相关阅读 更多 +