[問題] 簡單的script+sed的問題消失

看板Linux作者時間7年前 (2018/05/18 23:03), 7年前編輯推噓0(003)
留言3則, 1人參與, 最新討論串1/1
已上網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?! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 112.105.209.105 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1526655788.A.0C6.html

05/19 01:28, , 1F
想法很好 可是一點都不簡單
05/19 01:28, 1F

05/19 01:28, , 2F
05/19 01:28, 2F

05/19 01:29, , 3F
ls| sed -e ' aXPXP' | sed -e 'N' -e 's/\n/ /'
05/19 01:29, 3F
這篇我有看過 但這邊的XPXP會隨著a的內容有所變化 也就是不一定固定是XPXP 可能是其他的文字 ※ 編輯: achicn3 (112.105.209.105), 05/19/2018 09:32:01
文章代碼(AID): #1Q_kii36 (Linux)