[問題] Vi 裡的 RE

如果您覺得您的問題不屬於 debian desktop 或是 debian server 版的範圍內,請在這裡發問。

版主: mufa

[問題] Vi 裡的 RE

文章訪客 » 週一 5月 23, 2005 11:52 pm

請教一下,
如果我有個文字檔 裡面的檔案內容 每行開頭都涵蓋了 行數.
代碼: 選擇全部
 1 #include <stdio.h>
 2 ...
 3 .main()
 4 {
 5 ...
 6 ...
 7 ...
 8 ...
 9 ...
10 ...
11 ...
... ...
30 ...


如果想把開頭的行數拿掉.
該怎麼下指令會比較好呢??

我試著在vi裡以
代碼: 選擇全部
1,30s/^[0-9][0-9]//g

可是 只能 清掉10~30行. 第1~9行 因為 前面有個空白 會清不掉.
不曉得 各位有沒有比較好的 建議或是有相關的 網站資源可供參考?
感激不盡. 謝謝
訪客
 

文章kanru » 週二 5月 24, 2005 12:14 am

多加一個空白即可
代碼: 選擇全部
1,30s/^[ 0-9][0-9]//g

另外如果不知道上下界的話,可以用
代碼: 選擇全部
%s/^[ 0-9][0-9]//g

其中 % 代表本檔案
圖檔
頭像
kanru
榮譽學長
榮譽學長
 
文章: 578
註冊時間: 週六 7月 12, 2003 12:09 pm

文章訪客 » 週二 5月 24, 2005 10:20 am

如果不用 VI 的話,
試試 cut 吧.

$ cut -b4- old.txt > new.c

希望沒超出 99 行才好,
不過超出話前 99 行應該也要多空一格.
訪客
 

文章Tetralet » 週二 5月 24, 2005 11:08 am

如果超過了 99 行,
行首的空白有的會有 2 個,有的 1 個,有的沒有,
那麼您可以在 Vim 裡試試:
代碼: 選擇全部
%s/^ *[0-9]* //g

應該可以把所有開頭的行數給拿掉。
就算是上萬行也沒問題哦!

請不妨試試看...
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm


回到 debian misc

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客