Next: sed command命令
Up: sed
Previous: 符合條件的addressing
  Contents
如果有兩個條件以上那可以加-e
$ sed -e xxxx -e xxxx file
例如先將註解行變成空白行然後砍掉所有空白行
$ sed -e 's/\(.*\)\(#.*\)/\1/' -e /^$/d file xxx.sh
sed其實每次都把一行放到pattern space,然後對他操作
執行結果再先放到pattern space這個地方,如果有 -e,
就接著對pattern space的行再做script的執行,所以好幾個條件是有順序的。
做完一行後,再來一遍,所以最通用的一般式應該是
[address],[address]{
command[args]
command[args]
...
}
或者
[address],[address]{command[args];command[args];...;command[args];}
每一行command相當於有個-e的作用會先把結果放到一個pattern space,
可以寫成一個sed script file然後用-f 執行
$ sed -f script_file file
或者每個command的最後面要放個分號;。
另外sed有個hold space是個暫存東西的buffer,sed有些命令可以利用
hold space與pattern space,很像vi裡面的yy dd 先放到一個看不見的
buffer,再用p命令把它叫出來。
Cyril Huang
2002-06-14