亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 關(guān)于使用sed刪除vi中字符串的問題 [打印本頁]

作者: sohusina    時(shí)間: 2018-08-18 09:05
標(biāo)題: 關(guān)于使用sed刪除vi中字符串的問題
本帖最后由 sohusina 于 2018-08-18 09:10 編輯

問題是這樣的,我用vi新建了一個(gè)文本文件,里面有形如以下的內(nèi)容:

1.       import a;
2.       import b;
21.     import b.c;
211.          i=0;
3.        /* this is a
4.            code for
5.            java project */
6.       m=0;
7.       n=0;
71.     String the_one="";
711.   the_one="ok";



我的需求是使用sed刪除(諸如1. 2. 21. 之類的非代碼的內(nèi)容),但是我的sed老是達(dá)不到要求:

比如我用sed 's/^.*\.//' test.java 就達(dá)不到要求,

無奈之下,我看到點(diǎn)號內(nèi)容最多只有4列內(nèi)容,于是我使用 sed 's/....//'就把java代碼前面的無用字符串刪除了,而且很多代碼都頂格了。
如下

import a;
import b;

以下省略……

我的問題是,
1,為什么 sed 's/....//' test.java,那么從 (諸如1. 2.)到(import)之間的空格也沒有了呢?
2,有什么更好的sed用法嗎?即:我只要求刪除每行java代碼之前的諸如1. 2. 71. 之類的無用的字符串。

作者: 1cpuer    時(shí)間: 2018-08-18 13:52
本帖最后由 1cpuer 于 2018-08-18 13:56 編輯

sed 's/^[0-9][0-9]*\.//g' test.java|nl
sed 's/....//' test.java
sed 's/^....//' test.java
前面4個(gè)字符


作者: christmas1102    時(shí)間: 2018-08-20 09:47
本帖最后由 christmas1102 于 2018-08-20 09:49 編輯
  1. sed -r 's#\S+\s+(\S.*)#\1#' file
復(fù)制代碼

作者: wh7211    時(shí)間: 2018-08-20 11:46
回復(fù) 1# sohusina


  1. dos2unix file
  2. sed --version
  3. sed -r 's/^[^.]+\.//' file
復(fù)制代碼

作者: sohusina    時(shí)間: 2018-08-22 07:57
測試了一下,4樓的可用。




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2