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

Chinaunix

標題: 取出一個目錄文件的名稱? [打印本頁]

作者: jamesapple321    時間: 2014-06-20 09:51
標題: 取出一個目錄文件的名稱?
echo "/etc/rc.d/" |sed -r 's@^/.*/([^/]+)/?@\1@g'

我想請問下這個sed-r 后面的正則表達式's@^/.*/([^/]+)/?@\1@g'是什么意思
作者: yestreenstars    時間: 2014-06-20 10:06
如果是/etc/rc.d/就取出rc.d
如果是/etc/rc.d/test就取出test
作者: todayhero    時間: 2014-06-20 10:16
@jamesapple321

s@^/.*/([^/]+)/?@\1@g'

其中的s是表示替換,g表示全局,是進行合局替換

3個@表示是分隔符,平時都是s///g,這里為了避免與與正則沖突,使用s@@@g

三個@里面的就是正則替換了,不懂再看看正則了。

作者: dn833    時間: 2014-06-20 10:57
其實就是basename /etc/rc.d嘛
作者: daxuewuhen2014    時間: 2014-06-20 11:47
basename 也可以實現(xiàn)啊
作者: 用戶名注冊后不能更改    時間: 2014-06-20 12:30
湊合能用吧,可以做如下改進:
一、去掉^/,允許處理相對路徑。
二、去掉g,純屬多余。
三、?改成*,允許處理/etc//rc.d///之類的路徑。
作者: 關陰月飛    時間: 2014-06-20 13:31
看著這種正則實現(xiàn)的功能,有種蛋蛋的憂傷....
作者: 用戶名注冊后不能更改    時間: 2014-06-20 14:31
回復 7# 關陰月飛

這種正則應該是用于教學或練習的吧,模擬某命令的效果。
作者: jamesapple321    時間: 2014-06-20 19:26
表達式中的/?是什么意思啊
作者: 用戶名注冊后不能更改    時間: 2014-06-20 20:28
回復 9# jamesapple321

/表示字符/。
?表示前面的字符出現(xiàn)或者不出現(xiàn)均可,或者理解為匹配0或1次。
/?表示有沒有一個/都行。
作者: jack_yanf    時間: 2014-06-20 23:38
這個功能跟那個 basename一樣的嗎,還是用basename好,簡單明了。




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