看板 Linux 關於我們 聯絡資訊
描述得可能不太好 簡單說,我有一個文字檔,內容大概如下 AAAA BB CCCC BBDDDDD EEE BBBBBBAAASSSS 我想要將開頭是 BB的每一行,接到前一行的最後,變成底下的內容 AAAABB CCCBBDDDD EEEBBBBBBAAASSS 可是一直找不到該怎麼下語法.... 還請各位鄉民幫幫忙, thanks ! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.177.1 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1430292667.A.2AB.html
ricky155030: 在上一行打大寫J 下一行就會併上來了 04/29 15:42
ricky155030: 還是你是要用script做這件事? 04/29 15:42
chang0206: 大寫J是不管下一行是啥 直接併啊,我是只要併BB開頭的 04/29 15:49
chang0206: 然後我是要用script沒錯 04/29 15:49
bibo9901: 一定要 vim script? 隨便一種其他的 script language 04/29 16:46
bibo9901: 要做這件事都很簡單吧? 04/29 16:46
carrlyea: :1,$ s/\nBB/BB/ 04/29 16:47
chang0206: 樓上 no match found 耶... 04/29 16:59
chang0206: 其他的也行 可以介紹一下嗎? 04/29 17:00
chang0206: 我有用過 :1,$ s/^BB/CC/g 可以換掉 可是不知道怎麼把 04/29 17:05
chang0206: begin那個符號刪掉 然後可以接到上一行去 04/29 17:05
Neisseria: 如果B都在開頭:perl -000 -pe 's/\nB/B/sg;' file 04/29 17:12
chang0206: 樓上的作法會把整個內容刪掉? 04/29 17:21
chang0206: 啊N大的可以,謝謝! 04/29 17:22
chang0206: 可是 還是想知道有沒有方法可以在vi內作到? 04/29 17:22
Neisseria: 樓下有大神提供答案了,自己看一下吧 04/29 17:50
Neisseria: 不應該說樓下,是指下一篇 04/29 17:51
pcchou: 有 Editor 版喔,可以去那邊問 04/29 20:47
chang0206: 感謝樓上提供資訊 04/29 21:59
x2006: tr \\n , < test.txt | sed s/,BB/BB/g | tr , \\n 05/01 16:56