已上網google 但小弟資質駑鈍 用了好久都沒用好
故上來詢問各位
有兩個script 分別是a b
a的內容只有一行:ls | sed 1iXPXP| ~/b
b的功用是保留第一行字(也就是a內會insert到第一行的XPXP)到hold space之後會輸出
ls <reg expression >的東西 再輸出XPXP
舉個例子
假設ls <reg expression>的output 為
apple
banana
candy
則當我執行./a 會出現
apple XPXP
banana XPXP
candy XPXP
但不知哪裡出了問題 當我執行./a只會跑出ls的結果
以下是我b的內容
1 #!/bin/sed -f
2 1h;1d
3 /<reg expression>/{p;x;p;x}
我的想法是
b的第二行:
把第一行(XPXP)放到hold space 並刪除第一行的pattern space
b的第三行:(有顏色對照)
我要output 的(by reg expression,r.e. )檔案在pattern space
所以我先STDOUT之後hold與pattern交換,交換前的hold為 XPXP ,所以交換後的pattern
space為 XPXP 然後STDOUT之後再把XPXP放回hold space,但都沒法跑出預期的結果Orz
在b的第二行一定是先保存XPXP的情況下
我要怎麼修改b?!