标题: [求助]有关sed的问题请教
[打印本页]
作者: sylovanas
时间: 2008-2-12 19:18
标题: [求助]有关sed的问题请教
不好意思我是用繁体转成简体的方式发问的,文法有怪异的地方还请多见谅
指令是如下:
SED -n -r "/stubpath\t.*\t.|hkey_/I!d; s/^hkey_.*/\n[&]/I;/stubpath\t/I{s/.*\t//; H; g; p;} ;h" temp00.txt
我看到/stubpath\t.*\t.|hkey_/I!d; s/^hkey_.*/\n[&]/I;都还可以,但后面的/stubpath\t/I{s/.*\t//; H; g; p;} ;h我不太了解
想请问他是要对/stubpath\t/有这一行的东西要做什么样的处理?
是指\t前的文字去掉,然后H;g;p是?为何要用{}框起来
作者: lxmxn
时间: 2008-2-13 00:14
H命令是将模式空间的内容追加到保存区域中去,中间用换行符分割;
g命令是将保存区域的内容复制到模式空间,并销毁模式空间的内容;
p是打印模式空间的内容。
至于为什么用{},因为{}代表的grouping(分组),表示里面的命令都对前面的模式空间有效。
具体参考无奈何版主发的相关教程:
http://www.cn-dos.net/forum/viewthread.php?tid=24210