0
我希望每個期間使用git log --oneline | wc -l
用於在以下的Lua文件(簡化的)sed
取代提供修訂號提交使用腳本和$ GIT /鉤:更新版本號提交使用OS X擊的sed
-- settings.lua
local module = {}
-- major, minor, build, and revision number
module.version = "10.0.0.0"
return module
我在命令行測試這一點:
sed -E 's/(version\s*=\s*\"\d+\.\d+\.\d+\.)/\1foo"/' settings.lua
所有sed
輸出是輸入以下逐字複製:
-- settings.lua
local module = {}
-- major, minor, build, and revision number
module.version = "10.0.0.0"
return module
我一定完全誤解了我準備好的關於sed
及其生活目的的東西。來自20年的背景C/C++和現在的C#我很驚訝,我無法理解這一點。我知道模式匹配!
我sed
的理解是,它將匹配version = "10.0.0.0"
,然後整個匹配的字符串更改爲version = "10.0.0.foo"
曾經做過我可以簡單的「和> settings.au
,以取代與變電站的原始文件在地方。
像往常一樣我漂流路太遠偏離軌道思考的東西將是簡單的,但沒有和只是,因爲我想要的。我真的很享受在Lua的一部分了。
這確實發生在我身上,我正在使用'[[:digit:]]'但感覺它太冗長了,並且當時所有的概念都是錯誤的。我正在修訂號碼上創建一個捕獲組,並希望能夠替代它。這甚至有可能嗎?我會盡快給出'[0-9]'試一試。謝謝!我會回來標記一次測試回答的問題。 –
對不起,我不得不把它放在一邊,沒有時間考慮它:(我需要用'git log --oneline | wc -l'提供的那個替換最後一個數字。每次我找到它的用途時,更好地與sed,所以當時間允許我會解決它。 –