我有一個Makefile,我想在運行時用bash腳本更改/替換變量的值。如何使用bash腳本替換一個文件中的變量值?
SUBDIRS =常見的數據庫通信
我想替換SUBDIRS的這個值 -
protocols
如何使用shell腳本我更換呢?
我試圖
sed 's/\(SUBDIRS =\).*/\protocols/' Makefile
但這不能正常工作。請建議。
我有一個Makefile,我想在運行時用bash腳本更改/替換變量的值。如何使用bash腳本替換一個文件中的變量值?
SUBDIRS =常見的數據庫通信
我想替換SUBDIRS的這個值 -
protocols
如何使用shell腳本我更換呢?
我試圖
sed 's/\(SUBDIRS =\).*/\protocols/' Makefile
但這不能正常工作。請建議。
sed -r 's/(SUBDIRS =).*/\1protocols/' Makefile
SUBDIRS = protocols
使用回refrencing,該字符串的一部分,內部(
和)
抓獲,並呼籲拍攝組。之後每個捕獲組可以被稱爲\1
,\2
等。您可以捕獲多達9個捕獲組。在以下的答案必須使用`awk`
echo "$y"
SUBDIRS = common database communication
ola ola ola
bla bla bla
echo "$y" |awk -v RS="\n\n" 'BEGIN{FS=OFS="="}{$2="protocols"}1'
SUBDIRS =protocols
這工作得很好。 – user3256114
thnx但我無法使用它。你能否看看我在新問題中發佈的完整確切情況。 https://stackoverflow.com/questions/44881278/how-to-replace-a-value-of-variable-in-one-file-from-text-file-using-bash-script 我如何閱讀從makefile變量,然後使用它的awk。 – user3256114
檢查更新:
如果多行文本的機會,你可以使用
awk
:多線採樣輸入。 –