[英]How to open a file and edit its content in groovy script
我的 Makefile 在我的 Jenkins 作業的工作區中,我想從中編輯出某些部分然后保存它,然后運行使用此 Makefile 的腳本的下一部分。
我要刪掉的部分是這個——
PUMP_MARKER:=,cpp
ifneq (,$(findstring $(PUMP_MARKER), $(DISTCC_HOSTS)))
PUMP:=pump
else
PUMP:=
endif
我正在尋找可以放入我的 groovy 腳本的一些 shell 命令,它將打開該文件並刪除上面提到的部分,保存它然后繼續。
我不擅長 shell,所以我無法自己解決這個問題。
這是我的 groovy 腳本的樣子-
stage('Build'){
dir ("$WORKSPACE/$SVN_TAG") {
Here- I want to insert some shell command to edit that file out
}
}
任何人都可以提出一些想法來實現這一點。
注意 1-我知道我可以只 vi 該文件並手動執行此操作,但我想為多個作業執行此操作,我真的在尋找可以粘貼到我的每個 groovy 腳本中並自動執行此操作的內容。
注意 2-它不一定是 shell,它可以是任何語言,只要我可以在我的 groovy 腳本中運行它並完成工作即可。
我能夠通過使用這樣的補丁工具來解決這個問題 -
patch foo.txt <<'END'
1,6d0
< PUMP_MARKER:=,cpp
< ifneq (,$(findstring $(PUMP_MARKER), $(DISTCC_HOSTS)))
< PUMP:=pump
< else
< PUMP:=
< endif
END
該腳本對要修改的文件(在本例中為 foo.txt)調用補丁。 然后,補丁工具也會在標准輸入上獲取它應應用的差異。 這是在下面的代碼中使用來自 shell 的“此處文檔”機制實現的,請參見 << 后跟帶引號的標識符 END。 引用 END 是必要的,以確保后續的差異文本不受擴展影響。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.