我有一个命令:./start.sh version
我有一个文件1.txt
,其中指定了版本。
some_pattern=something
some_pattern=something
Fix_Version=install_v.1
some_pattern=something
some_pattern=something
有另一个文件install.sh
执行命令,但我希望该文件捕获版本并执行命令。
somecommands
somecommands
(./start.sh version)
somecommands
somecommands
所以,结果应该是这样的:./start.sh install_v.1
并执行它。从./start.sh
中的install.sh
和1.txt
中的./start.sh install_v.1
搜索文件,查找版本并执行命令{{1}}。
答案 0 :(得分:1)
使用此awk:
awk -F '[ =]+' 'FNR==NR && $1=="Fix_Version"{ver=$2;next} FNR!=NR{if ($1~/start\.sh/) $0 = $1 " " ver ")"; print $0}' a.txt install.sh
somecommands
somecommands
(./start.sh install_v.1)
somecommands
somecommands