簡體   English   中英

如何在 groovy 腳本中打開文件並編輯其內容

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM