- 论坛徽章:
- 3
|
本帖最后由 cjaizss 于 2010-09-23 14:38 编辑
好深奥啊,眼都花了。看不懂,大侠能否帮忙逐字解释下?
cheungjustin 发表于 2010-09-22 09:22 ![]()
- sed -rn '
- x; #交换保留空间和模式空间,这样保留保留空间里存储的就是该行内容
- s/.*/'${Name}'/; #把模式空间里替换为$Name
- G; #再把读入的该行内容接到$name之后,$Name之后有个\n,也就是现在模式空间里是 $Name,\n,读入行
- s/.*/\U&/; #把模式空间里的内容全部换成大写
- /^(.*)\n.*\1/ { #满足替换条件
- #把放在保留空间里读入的该行内容提出来,替换并输出,最后退出本轮
- x;
- s/ccc/abcd/g;
- p;
- d;
- };
- #不满足替换条件的,原样输出
- x;
- p'
-
复制代码 其实这个sed程序已经是很简单的sed程序了,sed比较抽象,可能还是要多写比较好,当然首先要做到的是对以下命令很熟悉
s
x
g
G
p
P
d
D
b
t
n
N
y
q
#以下命令我不喜欢用
i
a
c
#以下命令可以读写文件
r
w
#以下可以用来执行shell
e |
|